home *** CD-ROM | disk | FTP | other *** search
- NOLIST
- * This can only be assembled under DEVPAC V3.01 since there are many opcodes
- * only DEVPAC 3.01 understands. As far as I know.
-
- DEBUG SET 0
-
- OPT ow-,o+,ow6+,NODEBUG,NOLINE,ALINK
-
- *AUTO: smake KCX
-
- ;* $Revision Header built automatically *************** (do not edit) ************
- ;*
- ;* © Copyright by GuntherSoft
- ;*
- ;* File : SnakeSYS:DevPac/Sources/KCX/Prefs/KCommodity.Asm
- ;* Created on : Friday, 23-Oct-92 20:43:55
- ;* Created by : Kai Iske
- ;* Current revision : V2.5
- ;*
- ;*
- ;* Purpose
- ;* -------
- ;* KCommodity`s external Prefs-Configurator
- ;*
- ;* Revision V2.5
- ;* --------------
- ;* --- Initial release ---
- ;*
- ;*********************************************************************************
-
- XDEF _CxBase
- XDEF _SysBase
- IFGT DEBUG
- XREF KPrintF
- ENDC
-
- INCLUDE KCXBase.i
- INCLUDE KCX_Lib.i
- INCLUDE KCX.i
-
- INCLUDE Rexx/Errors.i
- INCLUDE Rexx/Rxslib.i
- INCLUDE Rexx/Storage.i
-
-
-
- INCLUDE Libraries/ReqTools.i
- INCLUDE Libraries/ReqTools_Lib.i
-
- INCLUDE Misc/MyMacros.i
-
- IFGT DEBUG
- INCLUDE Misc/Debug.i
- ENDC
-
-
-
- **********************************************************************
- * Local parameters for font-sensitive window open up *
- **********************************************************************
- CARGS #-(4+4+2+2+2+2),OffY.W,OffX.W,FontY.W,FontX.W,FontPtr.L
-
- SECTION MyCode,CODE
-
- Main move.l $4.w,_SysBase
- bra START
-
-
- **********************************************************************
- * Versionstring for C:Version-Prg *
- * I place it right here, so that it can be found quickly *
- **********************************************************************
- VersionString dc.b "$VER:KCommodity "
- REVISION
- dc.b " ("
- REVDATE
- dc.b ")",0
- EVEN
- BackPortName dc.b "KCX-BackPort",0
- PrefsPortName dc.b "KCX-PrefsPort",0
- EVEN
-
- **********************************************************************
- * Changes a HotKey for a Filter *
- * A0 = Pointer to window *
- * A1 = Pointer to windowtitle *
- * A2 = Pointer to filter *
- * A3 = Pointer to new filterdescription *
- * A5 = Pointer to old filterdescription *
- **********************************************************************
- RemakeHotKey CARGS #-20,.OldDesc.L,.NewDesc.L,.Filter.L,.Title.L,.Window.L
- movem.l RegsAll,-(sp)
-
- move.l a5,d7
- link a5,#-(20+HOTKEYSIZE)
-
- move.l a0,.Window(a5)
- move.l a1,.Title(a5)
- move.l a2,.Filter(a5)
- move.l a3,.NewDesc(a5)
- move.l d7,.OldDesc(a5)
-
- move.l .OldDesc(a5),a0 ; Copy old hotkey
- lea -(20+HOTKEYSIZE)(a5),a1
- bsr StrCpy
-
- move.l .NewDesc(a5),a0 ; Copy new HotKey
- move.l .OldDesc(a5),a1
- bsr StrCpy
-
- tst.l MyBroker(a4) ; Execute routine, only if
- beq.s .GotNewChangeHK ; Broker is really there
- move.l a2,d0
- beq.s .GotNewChangeHK
-
- bsr DisableBroker
-
- move.l .OldDesc(a5),a1 ; Check for non name
- lea NonName(pc),a0
- moveq #-1,d7
- bsr StrCmp
- tst.l d0
- bne.s .NormalHotKey
- lea NonHotKey(pc),a1
- .NormalHotKey move.l .Filter(a5),a0 ; Try to set new filter
- move.l _CxBase,a6
- DOLIB SetFilter
- move.l .Filter(a5),a0 ; Error occured ?
- DOLIB CxObjError
- tst.l d0
- beq.s .GotNewChangeHK ; Nope -> go on
-
- lea -(20+HOTKEYSIZE)(a5),a0 ; Remake HotKey
- move.l .OldDesc(a5),a1
- bsr StrCpy
-
- move.l .Filter(a5),a0 ; Reset old hotkey
- move.l .OldDesc(a5),a1
- DOLIB SetFilter
-
- .GotNewChangeHK move.l .Window(a5),a0
- move.l a0,d0
- beq.s .NoNewTitle
- move.l .Title(a5),a1
- move.l #-1,a2
- RELLIB SetWindowTitles,_IntuitionBase
- .NoNewTitle tst.l HotKeyHandle(a4)
- beq.s .NoGadRemake
- move.l HotKeyChange(a4),d0 ; Check if HotKey to be changed
- lea HotKeyGadVars,a0 ; is displayed withing HotKey-Win
- mulu #12,d0
- move.l 8(a0,d0),d0
- move.l 0(a4,d0),a0
- cmp.l .Filter(a5),a0 ; Same filter address ???
- bne.s .NoGadRemake
- move.l #GD_HotKeyDef,d0 ; Remake HotKey string
- lea HotKeyGads(a4),a0
- move.l HotKeyHandle(a4),a1
- move.l .OldDesc(a5),a2
- RELLIB SetStringGad,_KCXBase
- .NoGadRemake bsr EnableBroker
- .NoFullRemake unlk a5
- movem.l (sp)+,RegsAll
- rts
- NonName dc.b "none",0
- NonHotKey dc.b "lshift lalt lcommand rshift ralt rcommand control numericpad esc",0
-
-
-
-
- **********************************************************************
- * Get a file name via ASL-Requester *
- * Parameters must be passed on stack in given order *
- * 1. Pointer to window *
- * 2. Pointer to requester header *
- * 3. Pointer to complete filename *
- * 4. Number of gadget to change *
- * 5. Pointer to GadgetArray *
- * 6. Mode for filerequester *
- * 7. Pointer to Gadgetroutine (Offset) *
- **********************************************************************
- GetFileName CARGS #64,.Window.l,.Header.l,.CompleteName.l,.GadgetNum.w,.GadgetList.l,.Mode.L,.GadFunc.L
- movem.l d1-d7/a0-a6,-(sp)
- link a5,#-(ra_SIZEOF)
- move.l .Window(a5),a0
- move.l wd_WScreen(a0),a0
- lea sc_ViewPort(a0),a0
- RELLIB GetVPModeID,_GfxBase
- move.l d0,a0
- lea -(ra_SIZEOF)(a5),a1
- move.l #OSCAN_TEXT,d0
- RELLIB QueryOverscan,_IntuitionBase
- lea -(ra_SIZEOF)(a5),a2
- moveq #0,d0
- move.w ra_MaxX(a2),d0
- sub.w ra_MinX(a2),d0
- addq.w #1,d0
- move.l #45,d1
- RELLIB UMult32,_UtilityBase
- move.l #100,d1
- DOLIB UDivMod32
- move.l d0,d2 ; Width of FileReq
- moveq #0,d0
- move.w ra_MaxY(a2),d0
- sub.w ra_MinY(a2),d0
- addq.w #1,d0
- moveq #8,d1
- DOLIB UMult32
- moveq #10,d1
- DOLIB UDivMod32
- move.l d0,d3 ; Height of FileReq
- move.l d2,FileReqWidth
- move.l d3,FileReqHeight
- moveq #0,d0
- moveq #0,d1
- move.w ra_MaxX(a2),d0
- addq.w #1,d0
- move.w ra_MaxY(a2),d1
- addq.w #1,d1
- sub.w d2,d0
- sub.w d3,d1
- lsr.w #1,d0
- lsr.w #1,d1
- move.l .Window(a5),a2
- move.l wd_WScreen(a2),a2
- sub.w sc_LeftEdge(a2),d0
- sub.w sc_TopEdge(a2),d1
- move.l d0,FileReqLeft
- move.l d1,FileReqTop
-
- move.l .Mode(a5),FileReqDirs
- move.l MyLocale(pc),FileReqLoc
- RELLIB AllocFileRequest,_AslBase ; Get structure for filerequester
- move.l d0,MyAslRequest(a4)
- tst.l d0
- beq NoFileName
-
- clr.b DirPath(a4)
- clr.b DirFile(a4)
- move.l .CompleteName(a5),a0
- bsr StrLen
- lea 0(a0,d0),a0
- .GetFile cmp.b #":",(a0)
- beq.s .GotFile
- cmp.b #"/",(a0)
- beq.s .GotFile
- subq.l #1,a0
- dbf d0,.GetFile
- .GotFile move.l d0,d7
- addq.l #1,a0
- lea DirFile(a4),a1
- move.l a0,a2
- bsr StrCpy
- clr.b DirPath(a4)
- tst.w d7
- blt.s .NoDir
- moveq #-1,d5
- cmp.b #'/',-1(a2)
- beq.s .NoBack
- moveq #0,d5
- .NoBack move.b 0(a2,d5),d6
- clr.b 0(a2,d5)
- move.l .CompleteName(a5),a0
- lea DirPath(a4),a1
- bsr StrCpy
- move.b d6,0(a2,d5)
- .NoDir move.l .Window(a5),FileReqWin ; Set up filerequester
- lea DirPath(a4),a0
- move.l a0,FileReqDir
- lea DirFile(a4),a0
- move.l a0,FileReqFile
- move.l .Header(a5),FileReqHeader
- move.l MyAslRequest(a4),a0
- lea AslFileTags(pc),a1
- RELLIB AslRequest,_AslBase ; Do the request
- move.l d0,d7
- tst.l d0
- beq.s .Canceled
- move.l MyAslRequest(a4),a2
- move.l rf_Dir(a2),a0
- move.l .CompleteName(a5),a1 ; Copy Dir name
- moveq #-1,d7
- bsr StrCpy
- move.l .CompleteName(a5),a0
- bsr StrLen
- tst.b (a0)
- beq.s .GotPath
- lea 0(a0,d0),a0
- cmp.b #"/",-1(a0)
- beq.s .GotPath
- cmp.b #":",-1(a0)
- beq.s .GotPath
- move.b #"/",(a0)+
- .GotPath move.l a0,a1
- move.l rf_File(a2),a0
- bsr StrCpy
- tst.l .GadgetList(a5)
- beq.s .Canceled
- move.w .GadgetNum(a5),d0
- ext.l d0
- move.l .GadgetList(a5),a0
- move.l .Window(a5),a1
- move.l .CompleteName(a5),a2
- move.l .GadFunc(a5),d7
- move.l _KCXBase(a4),a6
- jsr 0(a6,d7)
- moveq #1,d7
- .Canceled move.l MyAslRequest(a4),a0 ; Copy new position of filereq
- RELLIB FreeFileRequest,_AslBase ; Free request
- NoFileName unlk a5
- move.l d7,d0
- movem.l (sp)+,d1-d7/a0-a6
- rts
- **********************************************************************
- * FileRequester tags *
- **********************************************************************
- AslFileTags dc.l ASLFR_TitleText
- FileReqHeader dc.l 0
- dc.l ASLFR_Window
- FileReqWin dc.l 0
- dc.l ASLFR_InitialLeftEdge
- FileReqLeft dc.l 0
- dc.l ASLFR_InitialTopEdge
- FileReqTop dc.l 0
- dc.l ASLFR_InitialWidth
- FileReqWidth dc.l 320
- dc.l ASLFR_InitialHeight
- FileReqHeight dc.l 140
- dc.l ASLFR_InitialFile
- FileReqFile dc.l 0
- dc.l ASLFR_InitialDrawer
- FileReqDir dc.l 0
- dc.l ASLFR_Flags1
- FileReqDirs dc.l 0
- dc.l ASLFR_Flags2
- dc.l FRF_REJECTICONS
- dc.l ASLFR_Locale
- FileReqLoc dc.l 0
- dc.l TAG_DONE
-
-
-
- **********************************************************************
- * Main program *
- **********************************************************************
- START movem.l d1-d7/a0-a6,-(sp)
-
- sub.l a1,a1
- CALLSYS FindTask
- move.l d0,a5
- tst.l pr_CLI(a5)
- bne.s .FromCLI
- lea pr_MsgPort(a5),a0
- DOLIB WaitPort
- lea pr_MsgPort(a5),a0
- DOLIB GetMsg
- move.l d0,MyWBMsg
-
- .FromCLI cmp.w #NEED_LIBVER,LIB_VERSION(a6) ; From OS >= 2.04 ???
- bge.s .IsOver20
-
- bsr OnlyKick20
- pea 0
- bra .NoDiskObj
-
- * First some needed initializations
-
- .IsOver20 CALLSYS Forbid
-
- lea PrefsPortName(pc),a1
- DOLIB FindPort
- tst.l d0
- beq.s .StartPrefs
- pea 0
- bra .NoDiskObj
-
- .StartPrefs move.l #MP_SIZE+4,d0 ; Get memory for our MsgPort
- move.l #MEMF_CLEAR,d1
- DOLIB AllocVec
- move.l d0,d7
- tst.l d0
- bne.s .GotComBuff
- DOLIB Permit
- bra .OpenError
- .GotComBuff moveq #-1,d0 ; Try to allocate signal
- DOLIB AllocSignal
- move.l d0,d6
- tst.l d0
- bge.s .GotComSig
- move.l d7,a1
- DOLIB FreeVec
- DOLIB Permit
- bra .OpenError
- .GotComSig move.l d7,a1
- move.b #PA_SIGNAL,MP_FLAGS(a1) ; Set Up Message Port structure
- move.b d6,MP_SIGBIT(a1)
- move.l ThisTask(a6),MP_SIGTASK(a1)
- lea MP_MSGLIST(a1),a0
- NEWLIST a0
- lea PrefsPortName(pc),a0
- move.l a0,LN_NAME(a1)
- move.b #NT_MSGPORT,LN_TYPE(a1)
- clr.b LN_PRI(a1)
- moveq #1,d1
- lsl.l d6,d1
- move.l d1,d6
- DOLIB AddPort ; Add Port to list
-
- lea BackPortName(pc),a1 ; Buddy already there ???
- DOLIB FindPort
- tst.l d0
- bne .TakeBack
- move.l #_SIZEOF_PAGE,d0 ; Otherwise create "ours"
- move.l #MEMF_CLEAR,d1
- DOLIB AllocVec
- move.l d0,ZeroBase
- tst.l d0
- bne.s .GotZeroBase
- move.l d7,a1
- DOLIB RemPort
- move.l d6,d0
- DOLIB FreeSignal
- move.l d7,a1
- DOLIB FreeVec
- pea 10
- bra .NoNothing
- .GotZeroBase move.l d0,a4
- move.l d7,PrefsPort(a4)
- move.l d6,PrefsPortSig(a4)
- ST ReadPrefs
- bsr InitZeroPage ; First Initialize the Z
- bsr InitWindows
- bsr MakeHotKeys ; Init default HotKeys
- lea WindowBase(a4),a0 ; Init Window list header
- NEWLIST a0
- lea TaskWinBase(a4),a0 ; Init WindowTast list header
- NEWLIST a0
- lea TagScrsTasks(a4),a0 ; Init TagScreens entries
- NEWLIST a0
- CALLSYS Permit
- bsr OpenLibs ; Open libs
- tst.l d0
- beq .OpenError
- bsr SetUpLocale ; Set up locale
- LOCLEA DefLabel,a0
- lea FormatDriveName(a4),a1
- bsr StrCpy
- bra.s .GoStart
-
- .TakeBack clr.l BackProcThere1+4 ; Clear flag of REMOVE gadget
- clr.l BackProcThere2+4 ; ... FORMATTER
- clr.l BackProcThere3+4 ; ... BILL WINDOW
- clr.l BackProcThere4+4 ; Graphics Dump
- clr.l BackProcThere5+4 ; Graphics Dump
- clr.l BackProcThere6+4 ; Graphics Dump
- move.l d0,a0
- move.l MP_SIZE(a0),a4
- move.l a4,ZeroBase
- move.l d7,PrefsPort(a4)
- move.l d6,PrefsPortSig(a4)
- CALLSYS Permit
-
- * Patch references; Set up locale and open remaining library
-
- .GoStart move.l a4,d0
- add.l d0,Zero1+4 ; Patch some references
- add.l d0,Zero2+4
- add.l d0,Zero3+4
-
- bsr SetUpLocale ; Set up locale
-
- lea ComName(pc),a1 ; Open Cx-Library, which is not shared
- move.l a1,PrefsErrArg(a4)
- moveq #NEED_LIBVER,d0
- CALLSYS OpenLibrary
- move.l d0,_CxBase
- tst.l d0
- beq .OpenError
-
- sub.l a1,a1 ; Get pointer to our process
- CALLSYS FindTask
- move.l d0,a5
- move.l d0,PrefsTask(a4)
- move.l PrefsPort(a4),a0
- move.l a4,MP_SIZE(a0) ; Store pointer to ZeroBase
- tst.l pr_CLI(a5)
- bne.s .GoOn
-
- move.l MyWBMsg(pc),a5 ; Parse ToolTypes
- move.l sm_ArgList(a5),a5 ; Get pointer to ArgList
- move.l a5,d0
- beq.s .NoBackground
- move.l wa_Lock(a5),d1 ; Get lock to Prg-Dir
- RELLIB CurrentDir,_DOSBase
- move.l wa_Name(a5),a0 ; Get .info-File
- RELLIB GetDiskObjectNew,_IconBase
- move.l d0,MyDiskObj
- beq .EndPrg
- move.l d0,a0 ; Store pointer to ToolTypes
- move.l do_ToolTypes(a0),MyToolTypes
- bsr GetToolTypes
- bra.s .NoBackground
-
- .GoOn
- IFGT DEBUG
- bra.s .NoBackground
- ENDC
- bsr GetCommandLine ; Get command line
- tst.l d7
- beq .OpenError
- cmp.l #1,d7
- beq.s .NoBackground
- moveq #0,d0
- bra .CloseDown
-
- * Now initialize the main thingies
-
- .NoBackground tst.b ReadPrefs ; Are we to read the prefs
- beq.s .NoReadPrefs
- bsr LoadPrefs ; Read in preferences
-
- .NoReadPrefs lea StrEditHook(pc),a0 ; Initialize the StringEdit-Hook
- move.l #MyStrEditFunc,h_Entry(a0)
- clr.l h_SubEntry(a0)
- move.l a4,h_Data(a0)
-
- move.l _GfxBase(a4),a0 ; Check for Denise
- btst #GFXB_HR_DENISE,gb_ChipRevBits0(a0)
- beq.s .NoDenise
- ST BlackBorderOk(a4)
-
- .NoDenise move.l $4.w,a0 ; Check for OS-Version
- cmp.w #39,LIB_VERSION(a0)
- blt.s .NoOS30
- ST OS3TagsOk(a4)
-
- .NoOS30 move.l #WINDOWPORT_ERR,ErrorPrefs(a4)
- CALLSYS CreateMsgPort ; Create Msg Port for main windows
- move.l d0,WindowPort(a4)
- tst.l d0
- beq.s .OpenError
- move.l d0,a0
- clr.l LN_NAME(a0)
- clr.b LN_PRI(a0)
- moveq #0,d0
- moveq #1,d1
- move.b MP_SIGBIT(a0),d0
- lsl.l d0,d1
- move.l d1,WindowPortSig(a4)
- move.l #-1,ErrorPrefs(a4)
-
- bsr OpenMainWin ; Open the main window
-
- bsr CheckInput ; Do the wild thing
- move.l #NO_ERR,ErrorPrefs(a4)
-
- .OpenError tst.l ErrorPrefs(a4) ; Error occured ?
- blt.s .EndPrg
- bsr DisplayError ; Display error
- .EndPrg moveq #0,d0 ; No error
- .CloseDown move.l d0,-(sp)
- CALLSYS Forbid
- tst.l _KCXBase(a4)
- beq.s .NoWinPort
- bsr CloseWins ; Close all windows first
-
- tst.l WindowPort(a4) ; Had a port for all the windows ???
- beq.s .NoWinPort
- move.l WindowPort(a4),a0 ; Just kill it
- CALLSYS DeleteMsgPort
- clr.l WindowPort(a4)
-
- .NoWinPort move.l PrefsPort(a4),d0 ; Remove our Port
- beq.s .NoPrefsPort
- move.l d0,a0
- CALLSYS GetMsg
- move.l PrefsPort(a4),a1
- DOLIB RemPort
- move.l PrefsPort(a4),a0
- moveq #0,d0
- move.b MP_SIGBIT(a0),d0
- DOLIB FreeSignal
- move.l PrefsPort(a4),a1
- DOLIB FreeVec
- clr.l PrefsPort(a4)
- clr.l PrefsPortSig(a4)
-
- .NoPrefsPort bsr ShutDownLocale
- lea BackPortName(pc),a1 ; Buddy still there ???
- CALLSYS FindPort
- tst.l d0
- bne.s .StillBack
- tst.l _KCXBase(a4)
- beq.s .NoWins
- lea WindowBase(a4),a0
- RELLIB FreeWindows,_KCXBase ; Free list of windows
- lea TaskWinBase(a4),a0
- DOLIB FreeWindows
- lea TagScrsTasks(a4),a0
- DOLIB FreeWindows
- .NoWins bsr CloseLibs ; Close Libs
- move.l ZeroBase(pc),a1 ; FRee ZeroPage
- CALLSYS FreeVec
-
- .StillBack tst.l _CxBase
- beq.s .NoNothing
- move.l _CxBase,a1
- CALLSYS CloseLibrary
-
- .NoNothing tst.l MyDiskObj ; Got a Disk-Object ?
- beq.s .NoDiskObj
- move.l MyDiskObj,a0 ; release it
- RELLIB FreeDiskObject,_IconBase
-
- .NoDiskObj tst.l MyWBMsg
- beq.s .NoWBMsg
- move.l MyWBMsg(pc),a1
- CALLSYS ReplyMsg
- .NoWBMsg move.l (sp)+,d0
- movem.l (sp)+,d1-d7/a0-a6
- rts
- MyWBMsg dc.l 0
- MyToolTypes dc.l 0
- MyDiskObj dc.l 0
- MyRDArgs dc.l 0
- Args dc.l 0
- ReadPrefs dc.w 0
-
-
-
-
- **********************************************************************
- * Attempt to load the libs *
- **********************************************************************
- OpenLibs move.l #NOTFOUND_ERR,ErrorPrefs(a4)
- lea KCXName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #VERNUM,d0
- CALLSYS OpenLibrary
- move.l d0,_KCXBase(a4)
- tst.l d0
- beq .LibError
-
- lea IntName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_IntuitionBase(a4)
- tst.l d0
- beq .LibError
-
- lea DosName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_DOSBase(a4)
- tst.l d0
- beq .LibError
-
- lea IconName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_IconBase(a4)
- tst.l d0
- beq .LibError
-
- lea LayerName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_LayersBase(a4)
- tst.l d0
- beq .LibError
-
- lea GadName(pc),a1
- move.l a1,PrefsErrArg(a4)
- moveq #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_GadToolsBase(a4)
- tst.l d0
- beq .LibError
-
- lea GfxName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_GfxBase(a4)
- tst.l d0
- beq .LibError
-
- lea RexxSysName(pc),a1
- move.l a1,PrefsErrArg(a4)
- moveq #0,d0
- DOLIB OpenLibrary
- move.l d0,_RexxSysBase(a4)
- tst.l d0
- beq .LibError
-
- lea AslName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_AslBase(a4)
- tst.l d0
- beq .LibError
- move.l d0,a0
- cmp.w #38,LIB_VERSION(a0)
- bge.s .NoReqTools
- lea ReqToolsName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #38,d0
- DOLIB OpenLibrary
- tst.l d0
- beq.s .LibError
- move.l d0,_ReqToolsBase(a4)
-
- .NoReqTools lea WBName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_WorkBenchBase(a4)
- tst.l d0
- beq.s .LibError
-
- lea UtilityName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_UtilityBase(a4)
- tst.l d0
- beq.s .LibError
-
- lea IFFParseName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_IFFParseBase(a4)
- tst.l d0
- beq.s .LibError
-
- lea KeyMapName(pc),a1
- move.l a1,PrefsErrArg(a4)
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_KeyMapBase(a4)
- tst.l d0
- beq.s .LibError
-
- lea LocaleName(pc),a1
- move.l #NEED_LIBVER,d0
- DOLIB OpenLibrary
- move.l d0,_LocaleBase(a4)
- moveq #1,d0
- .LibError rts
- **********************************************************************
- * Library names *
- **********************************************************************
- IntName dc.b "intuition.library",0
- ComName dc.b "commodities.library",0
- DosName dc.b "dos.library",0
- IconName dc.b "icon.library",0
- LayerName dc.b "layers.library",0
- GadName dc.b "gadtools.library",0
- GfxName dc.b "graphics.library",0
- RexxSysName dc.b "rexxsyslib.library",0
- WBName dc.b "workbench.library",0
- AslName dc.b "asl.library",0
- UtilityName dc.b "utility.library",0
- IFFParseName dc.b "iffparse.library",0
- LocaleName dc.b "locale.library",0
- KeyMapName dc.b "keymap.library",0
- ReqToolsName dc.b "reqtools.library",0
- KCXName KCXNAME
- EVEN
-
-
-
-
-
- **********************************************************************
- * Close Libs again *
- **********************************************************************
- CloseLibs move.l $4.w,a6
- tst.l _KCXBase(a4)
- beq.s .NoKCX
- move.l _KCXBase(a4),a1
- DOLIB CloseLibrary
-
- .NoKCX tst.l _LocaleBase(a4)
- beq.s .NoLocale
- move.l _LocaleBase(a4),a1
- DOLIB CloseLibrary
-
- .NoLocale tst.l _KeyMapBase(a4)
- beq.s .NoKeyMap
- move.l _KeyMapBase(a4),a1
- DOLIB CloseLibrary
-
- .NoKeyMap tst.l _IFFParseBase(a4)
- beq.s .NoIFFParseBase
- move.l _IFFParseBase(a4),a1
- DOLIB CloseLibrary
-
- .NoIFFParseBase tst.l _UtilityBase(a4)
- beq.s .NoUtilityBase
- move.l _UtilityBase(a4),a1
- DOLIB CloseLibrary
-
- .NoUtilityBase tst.l _WorkBenchBase(a4)
- beq.s .NoWBBase
- move.l _WorkBenchBase(a4),a1
- DOLIB CloseLibrary
-
- .NoWBBase tst.l _ReqToolsBase(a4)
- beq.s .NoReqToolsBase
- move.l _ReqToolsBase(a4),a1
- DOLIB CloseLibrary
-
- .NoReqToolsBase tst.l _AslBase(a4)
- beq.s .NoAslBase
- move.l _AslBase(a4),a1
- DOLIB CloseLibrary
-
- .NoAslBase tst.l _RexxSysBase(a4)
- beq.s .NoRexxSysBase
- move.l _RexxSysBase(a4),a1
- DOLIB CloseLibrary
-
- .NoRexxSysBase tst.l _GfxBase(a4)
- beq.s .NoGfxBase
- move.l _GfxBase(a4),a1
- DOLIB CloseLibrary
-
- .NoGfxBase tst.l _GadToolsBase(a4)
- beq.s .NoGadToolsBase
- move.l _GadToolsBase(a4),a1
- DOLIB CloseLibrary
-
- .NoGadToolsBase tst.l _LayersBase(a4)
- beq.s .NoLayersBase
- move.l _LayersBase(a4),a1
- DOLIB CloseLibrary
-
- .NoLayersBase tst.l _IconBase(a4)
- beq.s .NoIconBase
- move.l _IconBase(a4),a1
- DOLIB CloseLibrary
-
- .NoIconBase tst.l _DOSBase(a4)
- beq.s .NoDosBase
- move.l _DOSBase(a4),a1
- DOLIB CloseLibrary
-
- .NoDosBase tst.l _IntuitionBase(a4)
- beq.s .NoIntBase
- move.l _IntuitionBase(a4),a1
- DOLIB CloseLibrary
- .NoIntBase rts
-
-
-
-
- **********************************************************************
- * Set up things for localization *
- **********************************************************************
- SetUpLocale tst.l _LocaleBase(a4)
- beq.s .NoLocale
- tst.l MyLocale
- bne.s .NoLocale
- sub.l a0,a0
- RELLIB OpenLocale,_LocaleBase
- move.l d0,MyLocale
- tst.l MyCatalog
- bne.s .NoLocale
- sub.l a0,a0
- lea CatalogName(pc),a1
- sub.l a2,a2
- DOLIB OpenCatalogA
- move.l d0,MyCatalog
- .NoLocale rts
- MyCatalog dc.l 0
- MyLocale dc.l 0
- CatalogName dc.b "kcxprefs.catalog",0
- EVEN
- **********************************************************************
- * Shut down localization *
- **********************************************************************
- ShutDownLocale tst.l MyCatalog
- beq.s .NoCatalog
- move.l MyCatalog,a0
- RELLIB CloseCatalog,_LocaleBase
- .NoCatalog tst.l MyLocale
- beq.s .NoLocale
- move.l MyLocale,a0
- RELLIB CloseLocale,_LocaleBase
- .NoLocale rts
-
-
-
-
- **********************************************************************
- * Init Windowpositions *
- **********************************************************************
- InitWindows lea WinPosTab(pc),a2
- lea MainWinLeft(a4),a3
- moveq #43,d0
- .loop1 move.w (a2)+,(a3)+
- dbf d0,.loop1
- lea WinSizeTab(pc),a2
- lea MainWinWidth(a4),a3
- moveq #43,d0
- .loop2 move.w (a2)+,(a3)+
- dbf d0,.loop2
- rts
- WinPosTab dc.w 58,37,44,46,57,44,133,67
- dc.w 110,82,118,53,167,61,70,51
- dc.w 78,68,168,40,138,13,120,65
- dc.w 397,11,120,17,65,50,166,68
- dc.w 0,0,70,23,55,51,139,73
- dc.w 72,55,103,75
- WinSizeTab dc.w 551,126,574,45,583,126,484,79
- dc.w 421,35,424,94,348,78,527,147
- dc.w 562,95,356,111,364,173,507,100
- dc.w 319,106,485,180,511,100,309,23
- dc.w 0,0,608,162,592,96,405,82
- dc.w 523,180,450,101
-
-
-
- **********************************************************************
- * Init ZeroPage-Parameters *
- **********************************************************************
- InitZeroPage moveq #-1,d0
- move.l d0,FCycleSecs(a4) ; Init some longs
- move.l d0,BCycleSecs(a4)
- move.l d0,MCycleSecs(a4)
- move.w d0,OldX(a4)
- move.l d0,ThisHour(a4)
- move.l d0,AlarmSigBit(a4)
- move.l d0,FormatSigBit(a4)
- move.l d0,DragSigBit(a4)
- move.l d0,LastSelScrSec(a4)
- move.l d0,LastSelScrMin(a4)
- move.w d0,LastSelScr(a4)
-
- moveq #1,d0
- move.b d0,DoPopUp(a4) ; Set some bool flags
- move.b d0,TimeReset(a4)
- move.b d0,DispAppIcon(a4)
- move.b d0,DispAppMenu(a4)
- move.b d0,CheckQuit(a4)
-
- move.b d0,DoActivate(a4) ; Init default settings
- move.b d0,ShowClock(a4)
- move.b d0,DoShowTime(a4)
- move.b d0,ShowSecs(a4)
- move.b d0,DoShowAlarm(a4)
- move.b d0,CycleWin(a4)
- move.b d0,KeyClick(a4)
- move.b d0,BillPopUp(a4)
- move.b d0,WBFront(a4)
- move.b d0,ESCClose(a4)
-
- move.b d0,MakeIcons(a4)
- move.b d0,QuickFormat(a4)
- move.b d0,FFSDrive(a4)
- move.b d0,WatchDisks(a4)
- move.b d0,MMBShift(a4)
- move.b d0,LogCalls(a4)
- move.b d0,Saturday(a4)
- move.b d0,Sunday(a4)
- move.b d0,MouseEver(a4)
- move.b d0,DriveNoClick(a4)
- move.b d0,GfxCenter(a4)
- move.b d0,GfxFormFeed(a4)
- move.b d0,GfxKeepAspect(a4)
- move.b d0,Watch0(a4)
- move.b d0,WindowReAct(a4)
-
- moveq #2,d1
- move.w #300,ScreenTime+2(a4)
- move.b #10,MouseTime+3(a4)
- move.b #64,ClickVol+3(a4)
- move.b #5,DimmValue+3(a4)
- move.b #20,ExpFrames+3(a4)
- move.b #20,ImpFrames+3(a4)
- move.b #15,SizeFrames+3(a4)
- move.b #15,MoveFrames+3(a4)
- move.b #4,Accelerate+3(a4)
- move.b d1,ThresHold+3(a4)
- move.w #IECODE_LBUTTON,FrontCode(a4)
- move.w #IECODE_RBUTTON,BackCode(a4)
- move.w #IEQUALIFIER_LEFTBUTTON,BackQual(a4)
- move.w #IEQUALIFIER_LALT,ESCQual(a4)
- move.w d1,FrontClicks(a4)
- move.w d1,BackClicks(a4)
- move.w d1,MiddleClicks(a4)
- move.l #8*6,CheapStop(a4)
- move.l #18*6,CheapStart(a4)
- move.l #MAXBARLEN,MaxBarLen(a4)
-
- move.l $4.w,a6
- cmp.w #39,LIB_VERSION(a6)
- blt.s .No30
- move.l d0,TextFrontPen(a4)
- move.l d1,TextBackPen(a4)
- clr.l GaugeFrontPen(a4)
- move.b #3,GaugeBackPen+3(a4)
- bra.s .GotCols
- .No30 clr.l TextFrontPen(a4)
- move.l d0,TextBackPen(a4)
- move.b #3,GaugeFrontPen+3(a4)
- clr.l GaugeBackPen(a4)
-
- .GotCols move.w #IEQUALIFIER_LSHIFT,FullDragQual(a4)
- move.w #360,CostUnit1+2(a4)
- move.w #720,CostUnit1+6(a4)
- move.b #60,CostUnit2+3(a4)
- move.b #120,CostUnit2+7(a4)
- move.b #21,CostUnit3+3(a4)
- move.b #42,CostUnit3+7(a4)
- move.b #23,CostUnit+3(a4)
- move.b #4,GfxScale+3(a4)
- move.b #2,GfxDensity+3(a4)
- move.b #4,GfxThreshold+3(a4)
- move.l #NO_ERR,ErrorBack(a4)
- move.b #55,HandlerPri+3(a4)
- move.w #IEQUALIFIER_LALT,HoldXQual(a4)
- move.w #IEQUALIFIER_CONTROL,HoldYQual(a4)
-
- move.w #640-236,BillZoomSize(a4)
- move.w #11,BillZoomSize+2(a4)
-
- lea DefPubScrName(pc),a0 ; Init default public screen list
- lea PubScreenName(a4),a1
- bsr.s GoStrCpy
- lea DefSystemComm(pc),a0 ; Init default system command
- lea SystemComm(a4),a1
- bsr.s GoStrCpy
- lea DefLogFileName(pc),a0 ; Init default LogFile name
- lea LogFileName(a4),a1
- bsr.s GoStrCpy
- lea DefPrefsFName(pc),a0 ; Init default Prefs filename
- lea PrefsFileName(a4),a1
- GoStrCpy bra StrCpy
- DefSystemComm dc.b "NewSHELL CON:0/11//200/KCX-Shell/CLOSE/ALT///50/50",0
- DefPubScrName dc.b "TERM",0
- DefLogFileName dc.b "S:KCXLOGFILE",0
- DefPrefsFName dc.b "KCX.PREFS",0
- EVEN
-
-
-
- **********************************************************************
- * Copy default hotkeys to "user" buffers *
- **********************************************************************
- MakeHotKeys lea DefaultHotKeys,a2
- lea HotKeyGadStat,a3
- move.w #HOTKEYNUM-1,d7
- .Loop move.l (a2)+,a0
- move.l (a3)+,a1
- add.l a4,a1
- bsr StrCpy
- dbf d7,.Loop
- rts
-
-
- **********************************************************************
- * Get the given tooltypes *
- **********************************************************************
- GetToolTypes tst.l MyToolTypes
- bne.s .GoOn
- rts
- .GoOn move.l MyToolTypes,a0 ; Change PrefsFileName ?
- lea PrefsStr(pc),a1
- RELLIB FindToolType,_IconBase
- tst.l d0
- beq.s .NoPrefs
- move.l d0,a0
- tst.b FirstPrefs(a4)
- bne.s .NoPrefs
- lea PrefsFileName(a4),a1
- bsr StrCpy
- ST HadHardPrefs(a4)
- .NoPrefs rts
- **********************************************************************
- * Parse the command line *
- **********************************************************************
- GetCommandLine move.l #((HELP_ARG+1)*4),d0 ; Get buffer for parsed arguments
- move.l #MEMF_CLEAR,d1
- CALLSYS AllocVec
- move.l d0,Args
- moveq #0,d7
- move.l #MEMORY_ERR,ErrorPrefs(a4) ; Set Errornumber
- tst.l d0
- beq .HelpDone
- move.l #CLITemplate,d1 ; Parse commandline
- move.l Args,d2
- moveq #0,d3
- RELLIB ReadArgs,_DOSBase
- move.l d0,MyRDArgs
- move.l #NO_ERR,ErrorPrefs(a4) ; Set errornumber
- tst.l d0
- beq.s .Error
-
- move.l Args,a5 ; Now check args
-
- tst.l (PREFS_ARG*4)(a5) ; Alternative Prefs-File ?
- beq.s .NoPrefs
- move.l (PREFS_ARG*4)(a5),a0
- lea PrefsFileName(a4),a1
- bsr StrCpy
- ST HadHardPrefs(a4)
- .NoPrefs tst.l (HELP_ARG*4)(a5) ; Display Help ???
- beq.s .NoCommand
- RELLIB Output,_DOSBase
- move.l d0,d1
- LOCLEA CliHelpPage,a0
- move.l a0,d2
- DOLIB FPuts
- moveq #2,d7
- move.l #NO_ERR,ErrorPrefs(a4)
- bra.s .HelpDone
- .NoCommand moveq #1,d7
- bra.s .HelpDone
- .Error DOLIB IoErr ; On error get code
- move.l d0,d1 ; ... and display the message
- lea CommandHeader(pc),a0
- move.l a0,d2
- DOLIB PrintFault
- moveq #0,d7
- .HelpDone tst.l MyRDArgs
- beq.s .NoRDArgs
- move.l MyRDArgs,d1 ; Free structure passed by ReadArgs()
- RELLIB FreeArgs,_DOSBase
- .NoRDArgs tst.l Args
- beq.s .NoArgs
- move.l Args,a1 ; Free Vector-Table
- CALLSYS FreeVec
- .NoArgs rts
- **********************************************************************
- * Definition for the template and ToolTypes *
- **********************************************************************
- NoString dc.b "NO",0
- PrefsStr dc.b "SETTINGS",0
- EVEN
- CLITemplate dc.b "R=SETTINGS/K,HELP/S",0
- EVEN
- CommandHeader dc.b "KCommodity error occured ",0
- EVEN
- PREFS_ARG EQU 0
- HELP_ARG EQU 1
-
-
-
- **********************************************************************
- * Try to read in the default PrefsFile *
- **********************************************************************
- LoadPrefs move.l #GD_WindowList,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- move.l #~0,a2
- DOLIB SetListViewLst
- lea WindowBase(a4),a0
- DOLIB FreeWindows ; Free windows
- lea TaskWinBase(a4),a0
- DOLIB FreeWindows
- lea TagScrsTasks(a4),a0
- DOLIB FreeWindows
-
- move.l #NOIFF_ERR,ErrorPrefs(a4)
- RELLIB AllocIFF,_IFFParseBase
- move.l d0,MyIFFHandle(a4)
- tst.l d0
- beq .LoadError1
-
- lea PrefsFileName(a4),a0
- move.l a0,d1 ; Try to open user-defined file
- move.l d1,PrefsErrArg(a4)
- move.l #MODE_OLDFILE,d2
- RELLIB Open,_DOSBase
- tst.l d0
- bne.s .GotPrefFile
- tst.b FirstPrefs(a4)
- bne .DosLoadError
- tst.b HadHardPrefs(a4)
- bne .EndLoad
-
- lea DirPrefsName,a0
- lea PrefsFileName(a4),a1
- bsr StrCpy
-
- move.l #DirPrefsName,d1 ; Try to open file in current directory
- move.l d1,PrefsErrArg(a4)
- move.l #MODE_OLDFILE,d2
- DOLIB Open
- tst.l d0
- bne.s .GotPrefFile
-
- lea EnvPrefsName,a0
- lea PrefsFileName(a4),a1
- bsr StrCpy
-
- move.l #EnvPrefsName,d1 ; Try to open File within env:kcx/
- move.l d1,PrefsErrArg(a4)
- move.l #MODE_OLDFILE,d2
- DOLIB Open
- tst.l d0
- beq .EndLoad
-
- .GotPrefFile move.l MyIFFHandle(a4),a0
- move.l d0,iff_Stream(a0)
-
- RELLIB InitIFFasDOS,_IFFParseBase
-
- move.l MyIFFHandle(a4),a0
- move.l #IFFF_READ,d0
- DOLIB OpenIFF
- tst.l d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Find version ID
- move.l #'KCXM',d0
- move.l #'VERS',d1
- DOLIB PropChunk
- tst.l d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Get to 'KCXM' -> 'PREF'
- move.l #'KCXM',d0
- move.l #'PREF',d1
- DOLIB StopChunk
- tst.l d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Scan to chunk
- move.l #IFFPARSE_SCAN,d0
- DOLIB ParseIFF
- tst.l d0
- bne .LoadError
-
- .ScannedFile move.l MyIFFHandle(a4),a0 ; Did we have a VERSion chunk ?
- move.l #'KCXM',d0
- move.l #'VERS',d1
- DOLIB FindProp
- tst.l d0
- beq.s .PrefsError
- move.l d0,a0 ; Correct version ?
- move.l spr_Data(a0),a0
- lea VersChunk,a1
- move.w (a0)+,d0
- move.w (a0),d1
- cmp.w (a1),d0
- bne.s .PrefsError
- cmp.w 2(a1),d1
- beq.s .IsPrefs
- .PrefsError move.l #PREFS_ERR,ErrorPrefs(a4)
- lea VersionStr,a0
- move.l a0,PrefsErrArg(a4)
- bsr DisplayError
- bra .LoadError
-
- .IsPrefs move.l MyIFFHandle(a4),a0 ; Read Bool qualifiers
- lea BOOLQUALSTART(a4),a1
- move.l #FLAGSET,d0
- DOLIB ReadChunkBytes
- cmp.l #FLAGSET,d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Read Long qualifiers
- lea LONGQUALSTART(a4),a1
- move.l #LONGQUAL,d0
- DOLIB ReadChunkBytes
- cmp.l #LONGQUAL,d0
- bne .LoadError
-
- lea HotKeyGadStat,a3 ; Read HotKey definitions
- move.l #HOTKEYNUM-1,d7
- .LoopHKeys move.l MyIFFHandle(a4),a0
- move.l (a3)+,a1
- add.l a4,a1
- move.l #40,d0
- DOLIB ReadChunkBytes
- cmp.l #40,d0
- bne .LoadError
- dbf d7,.LoopHKeys
-
- move.l MyIFFHandle(a4),a0 ; Read User-Shell command
- lea SystemComm(a4),a1
- move.l #256,d0
- DOLIB ReadChunkBytes
- cmp.l #256,d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Read Logfilename
- lea LogFileName(a4),a1
- move.l #300,d0
- DOLIB ReadChunkBytes
- cmp.l #300,d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Read Public Screen list
- lea PubScreenName(a4),a1
- move.l #256,d0
- DOLIB ReadChunkBytes
- cmp.l #256,d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Read FKeys
- lea FKeys(a4),a1
- move.l #(MAXFKEYWIDTH+2)*10*4,d0
- DOLIB ReadChunkBytes
- cmp.l #(MAXFKEYWIDTH+2)*10*4,d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Read sample name
- lea AlSampleName(a4),a1
- move.l #256,d0
- DOLIB ReadChunkBytes
- cmp.l #256,d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Read format drive name
- lea FormatDriveName(a4),a1
- move.l #32,d0
- DOLIB ReadChunkBytes
- cmp.l #32,d0
- bne .LoadError
-
- move.l MyIFFHandle(a4),a0 ; Read window positions
- lea MainWinLeft(a4),a1
- move.l #WINPOSLEN,d0
- DOLIB ReadChunkBytes
- cmp.l #WINPOSLEN,d0
- bne .LoadError
-
- clr.w NumLockEntries(a4)
- clr.w TagScrEntry(a4)
- clr.w SelWindow(a4)
- clr.l GlobalTagAdr(a4)
- move.w #-1,TagScrEntry(a4)
- move.w #-1,SelWindow(a4)
- move.l #-1,HotKeyChange(a4)
- lea WindowBase(a4),a0 ; Read in window names
- lea NumWindows(a4),a1
- move.l #lw_Name,d6
- move.l #lw_SIZEOF,d5
- move.l #82,d4
- bsr.s .ReadNameChunk
- tst.l d0
- bne .LoadError
- lea TaskWinBase(a4),a0 ; Read task names
- lea NumTaskWins(a4),a1
- move.l #lw_Name,d6
- move.l #lw_SIZEOF,d5
- move.l #82,d4
- bsr.s .ReadNameChunk
- tst.l d0
- bne .LoadError
- lea TagScrsTasks(a4),a0 ; Read tag screen task names
- lea TagScrNum(a4),a1
- move.l #tagscr_Name,d6
- move.l #tagscr_SIZEOF,d5
- move.l #tagscr_SIZEOF-LN_SIZE,d4
- bsr.s .ReadNameChunk
- tst.l d0
- bne .LoadError
- lea TagScrsTasks(a4),a2 ; Search for Global entry
- TSTLIST a2
- beq.s .GotEnd
- move.l LH_HEAD(a2),a2
- .FindGlobal move.l a2,d0
- beq.s .GotEnd
- tst.b tagscr_Type(a2)
- bne.s .GotGlobal
- SUCC a2,a2
- bra.s .FindGlobal
- .GotGlobal move.l a2,GlobalTagAdr(a4)
- LOCLEA GlobalTagName,a0
- lea tagscr_Name(a2),a1
- bsr StrCpy
- .GotEnd moveq #0,d0
- bra .LoadError
-
- .ReadNameChunk move.l a0,a3 ; Copy pointer to other register
- move.l a1,a2
- NEWLIST a0
- move.l MyIFFHandle(a4),a0
- moveq #2,d0
- RELLIB ReadChunkBytes,_IFFParseBase
- cmp.l #2,d0
- bne.s .NameLoadError
- move.w (a2),d7 ; Get number of entries
- subq.w #1,d7
- blt.s .EndReadChunk
- .LoopWins move.l d5,d0 ; Read in window names
- move.l #MEMF_CLEAR,d1
- CALLSYS AllocVec
- tst.l d0
- bne.s .GotEntry
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- moveq #0,d0
- bra.s .NameLoadError
- .GotEntry move.l a3,a0 ; Add entry
- move.l d0,a1
- move.l d0,a2
- ADDTAIL
- move.l MyIFFHandle(a4),a0
- lea 0(a2,d6),a1
- move.l a1,LN_NAME(a2)
- move.l d4,d0
- RELLIB ReadChunkBytes,_IFFParseBase
- tst.l d0
- bne.s .GotName
- move.l a2,a1
- REMOVE
- move.l a2,a1
- CALLSYS FreeVec
- bra.s .EndLoad
- .GotName cmp.l d4,d0
- bne.s .NameLoadError
- dbf d7,.LoopWins
- .EndReadChunk moveq #0,d0
- .NameLoadError rts
-
- .LoadError tst.l d0 ; Handle errors ...
- beq.s .EndLoad
- neg.l d0
- add.l #400,d0
- move.l d0,ErrorPrefs(a4)
- .LoadError1 bsr DisplayError
- bra.s .EndLoad
- .DosLoadError RELLIB IoErr,_DOSBase
- move.l d0,ErrorPrefs(a4)
- bsr DisplayError
- .EndLoad tst.l MyIFFHandle(a4) ; and close resources
- beq.s .NoHandle
- move.l MyIFFHandle(a4),a0
- RELLIB CloseIFF,_IFFParseBase
- move.l MyIFFHandle(a4),a0
- tst.l iff_Stream(a0)
- beq.s .NoStream
- move.l iff_Stream(a0),d1
- RELLIB Close,_DOSBase
- .NoStream move.l MyIFFHandle(a4),a0
- RELLIB FreeIFF,_IFFParseBase
-
- .NoHandle bsr SetSetGads ; Set window gadgets
- bsr SetMiscGads
- bsr SetClockDefGads
- bsr SetBlankGads
- bsr SetCycleGads
- bsr SetTagScrGads
- bsr SetMouseGads
- bsr SetFKeyGads
- bsr SetPrefsGads
- bsr SetAlarmGads
-
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- lea TagScrsTasks(a4),a2
- RELLIB SetListViewLst,_KCXBase
-
- move.l #GD_WindowList,d0 ; Set lock window gadgets
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- lea WindowBase(a4),a2
- DOLIB SetListViewLst
- move.w SelWindow(a4),d1
- moveq #0,d2
- DOLIB SetListViewGad
- move.l #GD_WindowName,d0
- sub.l a2,a2
- DOLIB SetStringGad
- moveq #1,d1
- DOLIB GhostGadget
- move.l #GD_SelectWindow,d0
- DOLIB GhostGadget
- move.l #GD_DeleteWindow,d0
- DOLIB GhostGadget
-
- cmp.l #SNAPMEMPAGE,PageNum(a4)
- bne.s .RestoreNormal
- move.l SavedPage(a4),d0
- move.l d0,OldPageNum(a4)
- bra.s .GotPage
- .RestoreNormal move.l SavedPage(a4),d0
- move.l d0,PageNum(a4)
-
- .GotPage lea HotKeyGadStat,a3 ; Remake HotKeys
- lea HotKeyGadVars,a5
- move.l #HOTKEYNUM-1,d7
- .SetHKeys movem.l (a5),d0-d2
- sub.l a0,a0
- tst.l d0
- beq.s .NoWindow
- move.l 0(a4,d0),a0
- .NoWindow lea 0(a4,d1),a1
- move.l 0(a4,d2),a2
- movem.l a3/a5,-(sp)
- move.l (a3),d0
- lea 0(a4,d0),a3
- move.l a3,a5
- bsr RemakeHotKey
- movem.l (sp)+,a3/a5
- addq.l #4,a3
- lea 12(a5),a5
- dbf d7,.SetHKeys
-
- lea WindowHandles,a2 ; Reposition windows
- lea MainWinLeft(a4),a3
- move.w #WINDOWNUM-1,d7
- .LoopWinPos move.w (a2)+,d0
- tst.l 0(a4,d0)
- beq.s .NoWin
- move.l 0(a4,d0),a0
- movem.w (a3),d0-d1
- move.w wd_Width(a0),d2
- move.w wd_Height(a0),d3
- RELLIB ChangeWindowBox,_IntuitionBase
- .NoWin addq.l #8,a3
- dbf d7,.LoopWinPos
-
- .End move.b #1,FirstPrefs(a4)
- move.b ShowClock(a4),d0
- move.b d0,OldClockState(a4)
- move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_NEWPREFS,d0
- RELLIB ComPut,_KCXBase
- move.l #NO_ERR,ErrorPrefs(a4)
- rts
-
-
-
-
-
- **********************************************************************
- * On a save to ENV: do another save to ENVARC: *
- **********************************************************************
- DoublePrefs link a5,#-256
-
- move.l a5,-(sp)
- bsr.s SavePrefs
- move.l (sp)+,a5
-
- lea PrefsFileName(a4),a0
- lea EnvPrefsName,a1
- moveq #-1,d7
- bsr StrCmp
- tst.l d0
- bne.s .End
- tst.b d6
- bne.s .End
-
- lea PrefsFileName(a4),a0
- lea -256(a5),a1
- bsr StrCpy
-
- lea EnvArcPrefsName,a0
- lea PrefsFileName(a4),a1
- bsr StrCpy
-
- lea EnvArcDirName,a0
- move.l a0,d1
- RELLIB CreateDir,_DOSBase
- tst.l d0
- bgt.s .NewDir
- DOLIB IoErr
- cmp.l #ERROR_OBJECT_EXISTS,d0
- beq.s .NoNewDir
- move.l d0,ErrorPrefs(a4)
- bsr DisplayError
- bra.s .End
- .NewDir move.l d0,d1
- DOLIB UnLock
-
- .NoNewDir move.l a5,-(sp)
- bsr.s SavePrefs
- move.l (sp)+,a5
-
- lea -256(a5),a0
- lea PrefsFileName(a4),a1
- bsr StrCpy
-
- .End unlk a5
- rts
-
-
- **********************************************************************
- * Save preferences to disk *
- **********************************************************************
- SavePrefs cmp.l #SNAPMEMPAGE,PageNum(a4)
- bne.s .NormalPage
- move.l OldPageNum(a4),d0
- move.l d0,SavedPage(a4)
- bra.s .GotPage
- .NormalPage move.l PageNum(a4),d0
- move.l d0,SavedPage(a4)
-
- .GotPage move.l #NOIFF_ERR,ErrorPrefs(a4)
- RELLIB AllocIFF,_IFFParseBase
- move.l d0,MyIFFHandle(a4)
- tst.l d0
- beq .SaveError1
-
- lea PrefsFileName(a4),a0
- move.l a0,d1
- move.l d1,PrefsErrArg(a4)
- move.l #MODE_NEWFILE,d2
- RELLIB Open,_DOSBase
- move.l MyIFFHandle(a4),a0
- move.l d0,iff_Stream(a0)
- tst.l d0
- beq .DosSaveError
-
- RELLIB InitIFFasDOS,_IFFParseBase
-
- move.l MyIFFHandle(a4),a0
- move.l #IFFF_WRITE,d0
- DOLIB OpenIFF
- tst.l d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Push FORM chunk
- move.l #'KCXM',d0
- move.l #'FORM',d1
- move.l #IFFSIZE_UNKNOWN,d2
- DOLIB PushChunk
- tst.l d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Push Version Chunk
- move.l #'KCXM',d0
- move.l #'VERS',d1
- move.l #IFFSIZE_UNKNOWN,d2
- DOLIB PushChunk
- tst.l d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0
- lea VersChunk,a1
- move.l #VersChunkSize,d0
- DOLIB WriteChunkBytes
- cmp.l #VersChunkSize,d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0
- DOLIB PopChunk
- tst.l d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Write Preferences
- move.l #'KCXM',d0
- move.l #'PREF',d1
- move.l #IFFSIZE_UNKNOWN,d2
- DOLIB PushChunk
- tst.l d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Write Bool qualifiers
- lea BOOLQUALSTART(a4),a1
- move.l #FLAGSET,d0
- DOLIB WriteChunkBytes
- cmp.l #FLAGSET,d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Write Long qualifiers
- lea LONGQUALSTART(a4),a1
- move.l #LONGQUAL,d0
- DOLIB WriteChunkBytes
- cmp.l #LONGQUAL,d0
- bne .SaveError
-
- lea HotKeyGadStat,a3 ; Write HotKey definitions
- move.l #HOTKEYNUM-1,d7
- .LoopHKeys move.l MyIFFHandle(a4),a0
- move.l (a3)+,a1
- add.l a4,a1
- move.l #40,d0
- DOLIB WriteChunkBytes
- cmp.l #40,d0
- bne .SaveError
- dbf d7,.LoopHKeys
-
- move.l MyIFFHandle(a4),a0 ; Write User-Shell command
- lea SystemComm(a4),a1
- move.l #256,d0
- DOLIB WriteChunkBytes
- cmp.l #256,d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Write Logfilename
- lea LogFileName(a4),a1
- move.l #300,d0
- DOLIB WriteChunkBytes
- cmp.l #300,d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Write Public Screen list
- lea PubScreenName(a4),a1
- move.l #256,d0
- DOLIB WriteChunkBytes
- cmp.l #256,d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Write FKeys
- lea FKeys(a4),a1
- move.l #(MAXFKEYWIDTH+2)*10*4,d0
- DOLIB WriteChunkBytes
- cmp.l #(MAXFKEYWIDTH+2)*10*4,d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Write Sample name
- lea AlSampleName(a4),a1
- move.l #256,d0
- DOLIB WriteChunkBytes
- cmp.l #256,d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Write Format Drive name
- lea FormatDriveName(a4),a1
- move.l #32,d0
- DOLIB WriteChunkBytes
- cmp.l #32,d0
- bne .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Write Window sizes&positions
- lea MainWinLeft(a4),a1
- move.l #WINPOSLEN,d0
- DOLIB WriteChunkBytes
- cmp.l #WINPOSLEN,d0
- bne.s .SaveError
-
- lea WindowBase(a4),a2 ; Write window names to be locked
- lea NumWindows(a4),a1
- move.l #lw_Name,d6
- move.l #82,d4
- bsr.s .WriteListNames
- lea TaskWinBase(a4),a2 ; Write task names to be locked
- lea NumTaskWins(a4),a1
- move.l #lw_Name,d6
- move.l #82,d4
- bsr.s .WriteListNames
- lea TagScrsTasks(a4),a2 ; Write Tag Screen Tasks
- lea TagScrNum(a4),a1
- move.l #tagscr_Name,d6
- move.l #tagscr_SIZEOF-LN_SIZE,d4
- bsr.s .WriteListNames
- bra.s .NamesWritten
-
- .WriteListNames move.l MyIFFHandle(a4),a0 ; Write number of entries
- moveq #2,d0
- DOLIB WriteChunkBytes
- cmp.l #2,d0
- bne.s .SaveError
- SUCC a2,a2
- .LoopNames TSTLST2 a2,a0
- beq.s .NoNames
- move.l MyIFFHandle(a4),a0
- lea 0(a2,d6),a1
- move.l d4,d0
- DOLIB WriteChunkBytes
- cmp.l d4,d0
- bne.s .SaveError
- SUCC a2,a2
- bra.s .LoopNames
- .NoNames rts
-
- .NamesWritten move.l MyIFFHandle(a4),a0 ; Pop PREFS Chunk
- DOLIB PopChunk
- tst.l d0
- bne.s .SaveError
-
- move.l MyIFFHandle(a4),a0 ; Pop last Chunk (FORM)
- DOLIB PopChunk
- tst.l d0
- bne.s .SaveError
-
- .SaveError moveq #0,d6
- tst.l d0 ; Dos error occured ?
- beq.s .EndSave
- neg.l d0
- add.l #400,d0 ; Identify error code
- move.l d0,ErrorPrefs(a4)
- .SaveError1 bsr DisplayError
- moveq #1,d6
- bra.s .EndSave
- .DosSaveError RELLIB IoErr,_DOSBase
- move.l d0,ErrorPrefs(a4)
- bsr DisplayError
- .EndSave tst.l MyIFFHandle(a4)
- beq.s .NoHandle
- move.l MyIFFHandle(a4),a0
- RELLIB CloseIFF,_IFFParseBase
- move.l MyIFFHandle(a4),a0
- tst.l iff_Stream(a0)
- beq.s .NoStream
- move.l iff_Stream(a0),d1
- RELLIB Close,_DOSBase
- .NoStream move.l MyIFFHandle(a4),a0
- RELLIB FreeIFF,_IFFParseBase
- .NoHandle rts
-
-
-
- **********************************************************************
- * Check the main part of this proggy *
- **********************************************************************
- CheckInput tst.w AbortPrefs(a4) ; Quit our broker ?
- bne AbortInput
-
- move.l #SIGBREAKF_CTRL_C,d0 ; Accept a BREAK (like from c:break)
- or.l WindowPortSig(a4),d0 ; ... a window
- or.l PrefsPortSig(a4),d0 ; ... Prefs port
- CALLSYS Wait
- move.l d0,ThisSig(a4)
-
- move.l ThisSig(a4),d0
- and.l #SIGBREAKF_CTRL_C,d0
- bne AbortInput
-
- move.l ThisSig(a4),d0 ; of a window ?
- and.l WindowPortSig(a4),d0
- beq NoWindowMsg
-
- LoopWndMsg move.l WindowPort(a4),a0 ; Loop for all messages
- RELLIB GT_GetIMsg,_GadToolsBase ; Get gadtools message
- tst.l d0
- beq NoWindowMsg
- move.l d0,a1
-
- move.l im_Class(a1),d6 ; Get class
- moveq #0,d5
- move.w im_Code(a1),d5 ; Get code
- cmp.l #IDCMP_VANILLAKEY,d6
- bne.s .End
- move.w im_Qualifier(a1),d4
- move.l d5,d0
- bsr GetUpperCase
- move.l d0,d5
- .End move.l d6,d0
- and.l #(IDCMP_GADGETUP|IDCMP_GADGETDOWN),d0
- beq.s .NoGad
- move.l im_IAddress(a1),a2 ; Get gadget id
- move.w gg_GadgetID(a2),d7
-
- .NoGad move.l im_IDCMPWindow(a1),a3
- DOLIB GT_ReplyIMsg ; Reply gadtools msg
-
- move.l a3,d0
- beq LoopWndMsg
- lea WindowHandles,a0
- lea WindowRoutines,a1
- lea WindowGads,a5
- move.l #WINDOWNUM-1,d0
- .FindWindow move.w (a0)+,d1
- cmp.l 0(a4,d1),a3
- bne.s .GoOn
- move.l (a1),a0
- cmp.l #IDCMP_VANILLAKEY,d6
- bne.s .NoKey
- cmp.b #ESCKEY,d5
- bne.s .NoEscKey
- move.l #IDCMP_CLOSEWINDOW,d6
- moveq #0,d7
- moveq #-1,d5
- bra.s .NoKey
- .NoEscKey move.w (a5),d2
- lea 0(a4,d2.w),a5
- moveq #0,d3
- .CheckForKey move.l (a5),d0
- beq.s .NoKey
- move.l d0,a1
- move.l gg_UserData(a1),d0
- cmp.b d0,d5
- bne.s .NotThisKey
- move.l #IDCMP_GADGETUP,d6
- moveq #-1,d5
- move.l d3,d7
- bra.s .NoKey
- .NotThisKey addq.w #1,d3
- addq.l #4,a5
- bra.s .CheckForKey
- .NoKey jsr (a0)
- bra LoopWndMsg
- .GoOn addq.l #4,a1
- addq.w #2,a5
- dbf d0,.FindWindow
- bra LoopWndMsg
-
- NoWindowMsg move.l ThisSig(a4),d0 ; Prefs port ???
- and.l PrefsPortSig(a4),d0
- beq CheckInput
- move.l PrefsPort(a4),a0
- CALLSYS GetMsg
- tst.l d0
- beq CheckInput
- move.l d0,a1
- move.l a1,-(sp)
- move.w cmsg_Type(a1),d0 ; Get Type
- cmp.w #COM_BACKTHERE,d0 ; Arrival of Back process ???
- bne.s .NoBackCame
- moveq #0,d1
- .SetRemoveGad move.l #GD_RemoveGad,d0
- lea MainGads(a4),a0
- move.l MainHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- move.l #GD_HardCopy,d0
- DOLIB GhostGadget
- move.l #GD_BillWin,d0
- DOLIB GhostGadget
- move.l #GD_Format,d0
- DOLIB GhostGadget
- move.l #GD_Disable,d0
- DOLIB GhostGadget
- move.l #GD_Enable,d0
- DOLIB GhostGadget
- bra.s .ComDone
- .NoBackCame cmp.w #COM_BACKGONE,d0 ; Back process left us ???
- bne.s .NoBackGone
- moveq #1,d1
- bra.s .SetRemoveGad
- .NoBackGone cmp.w #COM_REMOVEPREFS,d0 ; Should we quit ???
- bne.s .NoPrefsQuit
- move.w #1,AbortPrefs(a4)
- bra.s .ComDone
- .NoPrefsQuit
- .ComDone move.l (sp)+,a1
- CALLSYS ReplyMsg
- bra CheckInput
-
- bra CheckInput ; Loop for all stuff
- AbortInput clr.w AbortPrefs(a4)
- rts
-
-
-
- **********************************************************************
- * Handle the gadgets of the main window *
- **********************************************************************
- HandleMainWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseMainWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Windo moved ?
- bne.s NoMainMove
- move.l MainHandle(a4),a0
- lea MainWinLeft(a4),a1
- bra StoreWinPos
-
- NoMainMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget picked ?
- bne NoMainGadUp
-
- tst.l d5
- bge.s .NoKey
- cmp.w #GD_RemoveGad,d7
- beq.s .CheckButton
- cmp.w #GD_HardCopy,d7
- beq.s .CheckButton
- cmp.w #GD_Format,d7
- beq.s .CheckButton
- cmp.w #GD_BillWin,d7
- beq.s .CheckButton
- cmp.w #GD_Disable,d7
- beq.s .CheckButton
- cmp.w #GD_Enable,d7
- beq.s .CheckButton
- bra.s .DoButton
- .CheckButton tst.l BackPort(a4)
- beq.s .NoKey
- .DoButton move.l d7,d0
- lea MainGads(a4),a0
- move.l MainHandle(a4),a5
- bsr ButtonCheck
-
- .NoKey cmp.w #GD_Settings,d7 ; Open settings window ?
- beq OpenSetWin
-
- cmp.w #GD_Misc,d7 ; Open misc window ?
- beq OpenMiscWin
-
- cmp.w #GD_Blanking,d7 ; Open blanking window ?
- beq OpenBlankWin
-
- cmp.w #GD_Cycling,d7 ; Open cycling window ?
- beq OpenCycleWin
-
- cmp.w #GD_Mouse,d7 ; Open Mouse window ?
- beq OpenMouseWin
-
- cmp.w #GD_HotKey,d7 ; Open HotKeys window ?
- beq OpenHotKeyWin
-
- cmp.w #GD_FKey,d7 ; Open FKeys window ?
- beq OpenFKeyWin
-
- cmp.w #GD_Format,d7
- bne.s NoFormWinGad
- move.l BackPort(a4),d0
- beq.s .End
- move.l d0,a0
- move.l PrefsPort(a4),a1
- move.l #COM_OPENFORM,d0
- RELLIB ComPut,_KCXBase
- .End rts
-
- NoFormWinGad cmp.w #GD_BillWin,d7 ; Open Bill window ?
- bne.s NoBillWinGad
- move.l CheckerProc(a4),d0
- beq.s .End
- move.l d0,a1
- move.l #SIGBILLWIN,d0
- CALLSYS Signal
- .End rts
-
- NoBillWinGad cmp.w #GD_BillPrefs,d7 ; Open prefs window ?
- beq OpenPrefsWin
-
- cmp.w #GD_Alarm,d7 ; Open alarm window ?
- beq OpenAlarmWin
-
- cmp.w #GD_ClockDef,d7 ; Open clock def window ?
- beq OpenClockDefWin
-
- cmp.w #GD_HardCopy,d7 ; Open Dump window ?
- bne.s NoDumpGad
- move.l BackPort(a4),d0
- beq.s .End
- move.l d0,a0
- move.l PrefsPort(a4),a1
- move.l #COM_PRINTER,d0
- RELLIB ComPut,_KCXBase
- .End rts
-
- NoDumpGad cmp.w #GD_LockWins,d7 ; Open Lock windows win ?
- beq OpenLockWin
-
- cmp.w #GD_TagScreens,d7 ; Open TagScreens window ?
- beq OpenTagScrWin
-
- cmp.w #GD_LoadPrefs,d7 ; Load prefs ?
- bne.s NoLoadPrefs
- LoadPrefsGad pea _LVOSetStringGad
- clr.l -(sp)
- clr.l -(sp)
- clr.w -(sp)
- lea PrefsFileName(a4),a0
- move.l a0,-(sp)
- LOCLEA PrefsLoadHeader,d0
- move.l d0,-(sp)
- move.l MainHandle(a4),-(sp)
- bsr GetFileName
- lea 26(sp),sp
- tst.l d0
- beq.s .End
- bsr LoadPrefs
- .End rts
-
- NoLoadPrefs cmp.w #GD_SavePrefs,d7 ; Save Prefs ?
- bne.s NoSavePrefsGad
- pea _LVOSetStringGad
- pea FRF_DOSAVEMODE
- clr.l -(sp)
- clr.w -(sp)
- lea PrefsFileName(a4),a0
- move.l a0,-(sp)
- LOCLEA PrefsSaveHeader,d0
- move.l d0,-(sp)
- move.l MainHandle(a4),-(sp)
- bsr GetFileName
- lea 26(sp),sp
- tst.l d0
- beq.s .End
- bsr DoublePrefs
- .End rts
-
- NoSavePrefsGad cmp.w #GD_RemoveGad,d7 ; Hide ???
- bne.s NoRemoveGad
- tst.l BackPort(a4)
- bne.s .GoOn
- rts
- .GoOn bsr BusyAllWins
- move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_REMOVE,d0
- RELLIB ComPut,_KCXBase
- moveq #50,d1
- RELLIB Delay,_DOSBase
- bsr UnbusyAllWins
- rts
-
- NoRemoveGad cmp.w #GD_Enable,d7 ; Enable Broker ?
- bne.s NoEnableGad
- tst.l BackPort(a4)
- bne.s .GoOn
- rts
- .GoOn clr.b Disabled(a4)
- bsr EnableBroker
- rts
-
- NoEnableGad cmp.w #GD_Disable,d7 ; Disable Broker ?
- bne.s NoDisableGad
- tst.l BackPort(a4)
- bne.s .GoOn
- rts
- .GoOn bsr DisableBroker
- move.b #1,Disabled(a4)
- rts
-
- NoDisableGad cmp.w #GD_Quit,d7 ; Quit stuff ?
- bne.s NoQuitGad
- move.w #1,AbortPrefs(a4)
- NoQuitGad rts
-
- NoMainGadUp cmp.l #IDCMP_MENUPICK,d6 ; Menu Picked ???
- bne.s NoMainMenu
-
- cmp.w #MENUNULL,d5
- beq.s .End
- move.l MainMenu(a4),a0
- move.w d5,d0
- ext.l d0
- RELLIB ItemAddress,_IntuitionBase
- move.l d0,a0
- GTMENUITEM_USERDATA a0,a0
- move.l a0,d0
- beq.s .End
- jmp (a0)
- .End rts
-
- DisplayAbout lea MyEasyRequest,a1 ; Display Easy-Requester
- move.l #EasyTitle,es_Title(a1)
- LOCLEA AboutText,a0
- move.l a0,es_TextFormat(a1)
- LOCLEA AboutGadgets,a0
- move.l a0,es_GadgetFormat(a1)
- sub.l a0,a0
- sub.l a2,a2
- lea VersionData,a3
- RELLIB EasyRequestArgs,_IntuitionBase
- rts
- EasyTitle dc.b "KCommodity V"
- REVISION
- dc.b 0
- EVEN
- NoMainMenu rts
-
-
-
-
- **********************************************************************
- * Handle Settings window *
- **********************************************************************
- HandleSetWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close Window ?
- beq CloseSetWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoSetMove
- move.l SetHandle(a4),a0
- lea SetWinLeft(a4),a1
- bra StoreWinPos
-
- NoSetMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget released ?
- bne NoSetGadUp
-
- cmp.w #GD_WriteEnv,d7 ; Environment vars ?
- bne.s NoWriteEnvGad
- WriteEnvKey bchg #0,SetEnv(a4)
- tst.b SetEnv(a4)
- bne.s .NoDel
- move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_DELENVS,d0
- RELLIB ComPut,_KCXBase
- .NoDel move.b SetEnv(a4),d0
- move.l #GD_WriteEnv,d1
- bra SetSetBox
-
- NoWriteEnvGad cmp.w #GD_WBFront,d7 ; WB to front ?
- bne.s NoWBFrontGad
- WBFrontKey bchg #0,WBFront(a4)
- move.b WBFront(a4),d0
- move.l #GD_WBFront,d1
- bra SetSetBox
-
- NoWBFrontGad cmp.w #GD_MapUmlauts,d7 ; Map umlauts ?
- bne.s NoUmlautsGad
- MapUmlautsKey bchg #0,MapUmlaut(a4)
- move.b MapUmlaut(a4),d0
- move.l #GD_MapUmlauts,d1
- bra SetSetBox
-
- NoUmlautsGad cmp.w #GD_MMBShift,d7 ; Changed MMB-Shift mode ?
- bne.s NoMMBShiftGad
- MMBShiftKey bchg #0,MMBShift(a4)
- move.b MMBShift(a4),d0 ; Set Auto Center gadget
- move.l #GD_MMBShift,d1
- bra SetSetBox
-
- NoMMBShiftGad cmp.w #GD_NoClick,d7 ; Change noclick state ?
- bne.s NoNoClickGad
- NoClickKey bchg #0,DriveNoClick(a4)
- move.b DriveNoClick(a4),d0
- move.l #GD_NoClick,d1
- bsr SetSetBox
- bra SetNoClick
-
- NoNoClickGad cmp.w #GD_NoDisplayBeep,d7 ; Disable/Enable DisplayBeep ?
- bne.s NoDisplayBGad
- DisplayBeepKey bchg #0,NoDisplayBeep(a4)
- move.b NoDisplayBeep(a4),d0
- move.l #GD_NoDisplayBeep,d1
- bra SetSetBox
-
- NoDisplayBGad cmp.w #GD_MenuWrap,d7 ; Enable/Disable MenuWrap ?
- bne.s NoMenuWrapGad
- MenuWrapKey bchg #0,MenuWrap(a4)
- move.b MenuWrap(a4),d0
- move.l #GD_MenuWrap,d1
- bra SetSetBox
-
- NoMenuWrapGad cmp.w #GD_StringMenu,d7 ; Enable/Disable String-Menu-Shortcuts
- bne.s NoStrMenuGad
- StringMenuKey bchg #0,StringMenu(a4)
- move.b StringMenu(a4),d0
- move.l #GD_StringMenu,d1
- bra SetSetBox
-
- NoStrMenuGad cmp.w #GD_AvoidFlicker,d7 ; Enable/Disable flicker ???
- bne.s NoFlickerGad
- AvoidFlickerKey bchg #0,FlickerOff(a4)
- move.b FlickerOff(a4),d0
- move.l #GD_AvoidFlicker,d1
- bsr SetSetBox
- move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_FLICKER,d0
- RELLIB ComPut,_KCXBase
- rts
- NoFlickerGad rts
- NoSetGadUp rts
-
-
- **********************************************************************
- * Handle the Misc window *
- **********************************************************************
- HandleMiscWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseMiscWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoMiscMove
- move.l MiscHandle(a4),a0
- lea MiscWinLeft(a4),a1
- bra StoreWinPos
-
- NoMiscMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget released ?
- bne NoMiscGadUp
-
- cmp.w #GD_KeyClick,d7 ; KeyClick ?
- bne.s NoKeyClickGad
- bchg #0,KeyClick(a4)
- move.b KeyClick(a4),d0
- move.l #GD_KeyClick,d1
- bra SetMiscBox
-
- NoKeyClickGad cmp.w #GD_ClickVol,d7 ; Change click vol ?
- bne.s NoClickVolGad
- tst.l d5
- ble.s .Key
- ext.l d5
- move.l d5,ClickVol(a4)
- rts
- .Key move.l ClickVol(a4),d0
- and.w #(IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT),d4
- beq.s .Up
- subq.l #1,d0
- bne.s .GoOn
- move.l #64,d0
- bra.s .GoOn
- .Up addq.l #1,d0
- cmp.l #65,d0
- bne.s .GoOn
- moveq #1,d0
- .GoOn move.l d0,ClickVol(a4)
- move.l d0,d1
- move.l #GD_ClickVol,d0
- lea MiscGads(a4),a0
- move.l MiscHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
- rts
-
- NoClickVolGad cmp.w #GD_ESCClose,d7 ; Escclose ?
- bne.s NoESCCloseGad
- bchg #0,ESCClose(a4)
- move.b ESCClose(a4),d0
- move.l #GD_ESCClose,d1
- bra SetMiscBox
-
- NoESCCloseGad cmp.w #GD_ESCQual,d7 ; New Qualifier ?
- bne.s NoESCQualGad
- tst.l d5
- bge.s .DoKey
- move.l d7,d0
- lea MiscGads(a4),a0
- move.l MiscHandle(a4),a5
- bsr ButtonCheck
- .DoKey move.w #RESCKEY,NewCode(a4)
- move.w ESCQual(a4),NewQual(a4)
- move.b #1,KeepCode(a4) ; Code may not be changed
- LOCLEA ESCQualTxt,a0
- bsr GetQualifier
- tst.w NewCode(a4)
- beq.s .End
- move.w NewQual(a4),ESCQual(a4)
- bra SetMiscGads
- .End rts
-
- NoESCQualGad cmp.w #GD_UserShell,d7 ; New UserShell ?
- bne.s NoUserShellGad
- tst.l d5
- blt.s .Key
- lea SystemComm(a4),a0
- move.l #GD_UserShell,d0
- lea MiscGads(a4),a0
- RELLIB GetGadgetPtr,_KCXBase
- move.l gg_SpecialInfo(a0),a0
- move.l si_Buffer(a0),a0
- lea SystemComm(a4),a1
- bra StrCpy
- .Key move.l #GD_UserShell,d0
- lea MiscGads(a4),a0
- move.l MiscHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- rts
-
- NoUserShellGad cmp.w #GD_ExpWindows,d7 ; Exploding windows ?
- bne.s NoExpWindowsGad
- bchg #0,ExpWindows(a4)
- bra SetWindowsGads
-
- NoExpWindowsGad cmp.w #GD_MouseCtr,d7 ; Explode to mouse ?
- bne.s NoMouseCtrGad
- tst.b ExpWindows(a4)
- beq.s .End
- bchg #0,MouseCenter(a4)
- move.b MouseCenter(a4),d0
- move.l #GD_MouseCtr,d1
- bra SetMiscBox
- .End rts
-
- NoMouseCtrGad cmp.w #GD_ExpFrames,d7 ; Explode frames ?
- bne.s NoExpFramesGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,ExpFrames(a4)
- rts
- .Key lea ExpFrames(a4),a0
- move.l #GD_ExpFrames,d7
- SetFrameGad tst.b ExpWindows(a4)
- beq.s .End
- move.l (a0),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.l #1,d0
- cmp.l #MINFRAMES,d0
- bge.s .NoRestart
- move.l #MAXFRAMES,d0
- bra.s .NoRestart
- .Up addq.l #1,d0 ; Increase value
- cmp.l #MAXFRAMES,d0 ; Over 48 ?
- ble.s .NoRestart
- moveq #MINFRAMES,d0 ; Restart from scratch
- .NoRestart move.l d0,(a0) ; Remake slider gad
- move.l d0,d1
- move.l d7,d0
- bsr SetMiscSlids
- .End rts
-
- NoExpFramesGad cmp.w #GD_ImpFrames,d7 ; Implode frames ?
- bne.s NoImpFramesGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,ImpFrames(a4)
- rts
- .Key lea ImpFrames(a4),a0
- move.l #GD_ImpFrames,d7
- bra SetFrameGad
-
- NoImpFramesGad cmp.w #GD_SizeFrames,d7 ; Size frames ?
- bne.s NoSizeFramesGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,SizeFrames(a4)
- rts
- .Key lea SizeFrames(a4),a0
- move.l #GD_SizeFrames,d7
- bra SetFrameGad
-
- NoSizeFramesGad cmp.w #GD_MoveFrames,d7 ; Move frames ???
- bne.s NoMoveFramesGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,MoveFrames(a4)
- rts
- .Key lea MoveFrames(a4),a0
- move.l #GD_MoveFrames,d7
- bra SetFrameGad
-
- NoMoveFramesGad cmp.w #GD_FullDrag,d7 ; Full dragging ?
- bne.s NoFullDragGad
- bchg #0,FullDrag(a4)
- move.b FullDrag(a4),d0
- move.l #GD_FullDrag,d1
- bra SetMiscBox
-
- NoFullDragGad cmp.w #GD_DragQual,d7 ; New Dragging qualifier ?
- bne.s NoDragQualGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea MiscGads(a4),a0
- move.l MiscHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.w #IECODE_LBUTTON,NewCode(a4)
- move.w FullDragQual(a4),NewQual(a4)
- move.b #1,KeepCode(a4) ; Code may not be changed
- LOCLEA DragQualTxt,a0
- bsr GetQualifier
- tst.w NewCode(a4)
- beq.s .End
- move.w NewQual(a4),FullDragQual(a4)
- bra SetMiscGads
- .End rts
-
- NoDragQualGad cmp.w #GD_AltMode,d7 ; Enable/Disable AltMode ?
- bne.s NoAltModeGad
- bchg #0,AltModeOn(a4)
- move.b AltModeOn(a4),d0
- move.l #GD_AltMode,d1
- bra SetMiscBox
-
- NoAltModeGad cmp.w #GD_AltQual,d7 ; Change qualifier for AltMode ?
- bne.s NoAltQualGad
- bchg #0,AltQual(a4)
- move.w AltQual(a4),d1
- move.l #GD_AltQual,d0
- lea MiscGads(a4),a0
- move.l MiscHandle(a4),a1
- RELLIB SetCycleGad,_KCXBase
- NoAltQualGad rts
- NoMiscGadUp rts
-
-
-
- **********************************************************************
- * Handle the alarm window *
- **********************************************************************
- HandleAlarmWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseAlarmWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoAlarmMove
- move.l AlarmHandle(a4),a0
- lea AlarmWinLeft(a4),a1
- bra StoreWinPos
-
- NoAlarmMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget released ?
- bne NoAlarmGadUp
-
- cmp.w #GD_AlarmOn,d7 ; Alarm ?
- bne.s NoAlarmOnGad
- AlarmOnKey bchg #0,DoAlarm(a4)
- move.b DoAlarm(a4),d0
- move.l #GD_AlarmOn,d1
- bra SetAlarmBox
-
- NoAlarmOnGad cmp.w #GD_AllHours,d7 ; Alarm every hour ?
- bne.s NoAllHoursGad
- bchg #0,EveryHour(a4)
- move.b EveryHour(a4),d0
- move.l #GD_AllHours,d1
- bra SetAlarmBox
-
- NoAllHoursGad cmp.w #GD_ShowAlarm,d7 ; Display requester ?
- bne.s NoShowAlarmGad
- ShowAlarmKey bchg #0,DoShowAlarm(a4)
- move.b DoShowAlarm(a4),d0
- move.l #GD_ShowAlarm,d1
- bra SetAlarmBox
-
- NoShowAlarmGad cmp.w #GD_AlarmTime,d7 ; New alarm time ?
- bne.s NoAlarmTimeGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,AlarmTime(a4)
- rts
- .Key move.l AlarmTime(a4),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.l #1,d0
- bge.s .GoOn
- move.l #(24*60)-1,d0
- bra.s .GoOn
- .Up addq.l #1,d0
- cmp.l #(24*60),d0
- bne.s .GoOn
- moveq #0,d0
- .GoOn move.l d0,AlarmTime(a4)
- move.l d0,d1
- move.l #GD_AlarmTime,d0
- lea AlarmGads(a4),a0
- move.l AlarmHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
- rts
-
- NoAlarmTimeGad cmp.w #GD_AlSoundType,d7 ; New sound type ?
- bne.s NoAlSTypeGad
- tst.l d5
- bgt.s .NoKey
- bchg #0,AlarmSample(a4)
- move.l #GD_AlSoundType,d0
- moveq #0,d1
- move.b AlarmSample(a4),d1
- lea AlarmGads(a4),a0
- move.l AlarmHandle(a4),a1
- RELLIB SetCycleGad,_KCXBase
- bra.s .SetSampleGad
- .NoKey move.b d5,AlarmSample(a4)
- .SetSampleGad move.l #GD_AlarmSample,d0
- moveq #0,d1
- move.b AlarmSample(a4),d1
- bchg #0,d1
- lea AlarmGads(a4),a0
- move.l AlarmHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- move.l #GD_TestSample,d0
- DOLIB GhostGadget
- GotNewAlarm move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_NEWALARM,d0
- RELLIB ComPut,_KCXBase
- rts
-
- NoAlSTypeGad cmp.w #GD_AlarmSample,d7 ; Load new Sample ?
- bne.s NoAlSampleGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea AlarmGads(a4),a0
- move.l AlarmHandle(a4),a5
- bsr ButtonCheck
- .NoKey pea _LVOSetTextGad
- clr.l -(sp)
- lea AlarmGads(a4),a0
- move.l a0,-(sp)
- move.w #GD_SampleName,-(sp)
- lea AlSampleName(a4),a0
- move.l a0,-(sp)
- LOCLEA AlSampLoadHead,d0
- move.l d0,-(sp)
- move.l AlarmHandle(a4),-(sp)
- bsr GetFileName
- lea 26(sp),sp
- tst.l d0
- beq.s .End
- ST HadASample(a4)
- bra.s GotNewAlarm
- .End rts
-
- NoAlSampleGad cmp.w #GD_TestSample,d7 ; Test alarm sample ?
- bne.s NoTestSmpGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea AlarmGads(a4),a0
- move.l AlarmHandle(a4),a5
- bsr ButtonCheck
- .NoKey bsr BusyAllWins
- move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_PLAYALARM,d0
- RELLIB ComPut,_KCXBase
- bsr UnbusyAllWins
- NoTestSmpGad rts
- NoAlarmGadUp rts
-
-
-
-
-
-
- **********************************************************************
- * Handle the cyle window *
- **********************************************************************
- HandleCycleWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseCycleWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoCycleMove
- move.l CycleHandle(a4),a0
- lea CycleWinLeft(a4),a1
- bra StoreWinPos
-
- NoCycleMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget used ?
- bne NoCycleGadUp
-
- cmp.w #GD_CycleOn,d7 ; Cycling ?
- bne.s NoCycleOnGad
- bchg #0,CycleWin(a4)
- move.b CycleWin(a4),d0
- move.l #GD_CycleOn,d1
- lea CycleGads(a4),a0
- move.l CycleHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- moveq #0,d1
- move.b CycleWin(a4),d1
- eor.w #1,d1
- move.l #GD_FrontClick,d0
- DOLIB GhostGadget
- move.l #GD_BackClick,d0
- DOLIB GhostGadget
- move.l #GD_MiddleClick,d0
- DOLIB GhostGadget
- rts
-
- NoCycleOnGad cmp.w #GD_FrontClick,d7 ; New Frontclick ?
- bne.s NoFrontClickGad
- tst.l d5
- blt.s .Key
- move.w d5,FrontClicks(a4)
- rts
- .Key lea FrontClicks(a4),a0
- SetClickSlid tst.b CycleWin(a4)
- bne.s .GoOn
- rts
- .GoOn move.w (a0),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.w #1,d0
- bne.s .NoRestart
- move.w #MAXCLICKS,d0
- bra.s .NoRestart
- .Up addq.w #1,d0
- cmp.w #MAXCLICKS,d0
- ble.s .NoRestart
- moveq #1,d0
- .NoRestart move.w d0,(a0)
- bra SetCycleSlids
-
- NoFrontClickGad cmp.w #GD_MiddleClick,d7 ; middle click ?
- bne.s NoMidClickGad
- tst.l d5
- blt.s .Key
- move.w d5,MiddleClicks(a4)
- rts
- .Key lea MiddleClicks(a4),a0
- bra.s SetClickSlid
-
- NoMidClickGad cmp.w #GD_BackClick,d7 ; back click ?
- bne.s NoBackClickGad
- tst.l d5
- blt.s .Key
- move.w d5,BackClicks(a4)
- rts
- .Key lea BackClicks(a4),a0
- bra.s SetClickSlid
-
- NoBackClickGad cmp.w #GD_FrontKey,d7 ; Change front qualifier ?
- bne.s NoFrontQual
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea CycleGads(a4),a0
- move.l CycleHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.w FrontCode(a4),NewCode(a4)
- move.w FrontQual(a4),NewQual(a4)
- clr.b KeepCode(a4) ; Code may be changed too
- LOCLEA FrontClickTxt,a0
- bsr GetQualifier
- tst.w NewCode(a4)
- beq.s .End
- move.w NewCode(a4),FrontCode(a4)
- move.w NewQual(a4),FrontQual(a4)
- bsr SetCycleQuals
- .End rts
-
- NoFrontQual cmp.w #GD_BackKey,d7 ; Change back qualifier ?
- bne.s NoBackQual
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea CycleGads(a4),a0
- move.l CycleHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.w BackCode(a4),NewCode(a4)
- move.w BackQual(a4),NewQual(a4)
- clr.b KeepCode(a4) ; Code may be changed too
- LOCLEA BackClickTxt,a0
- bsr GetQualifier
- tst.w NewCode(a4)
- beq.s .End
- move.w NewCode(a4),BackCode(a4)
- move.w NewQual(a4),BackQual(a4)
- bsr SetCycleQuals
- .End rts
-
- NoBackQual cmp.w #GD_MiddleKey,d7 ; Change middle qualifier ?
- bne.s NoMiddleQual
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea CycleGads(a4),a0
- move.l CycleHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.w #IECODE_MBUTTON,NewCode(a4)
- move.w MiddleQual(a4),NewQual(a4)
- move.b #1,KeepCode(a4) ; Code should be kept
- LOCLEA MiddleClickTxt,a0
- bsr GetQualifier
- tst.w NewCode(a4)
- beq.s NoMiddleQual
- move.w NewQual(a4),MiddleQual(a4)
- bsr SetCycleQuals
- NoMiddleQual rts
- NoCycleGadUp rts
-
-
- **********************************************************************
- * Handle the blanking window *
- **********************************************************************
- HandleBlankWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseBlankWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoBlankMove
- move.l BlankHandle(a4),a0
- lea BlankWinLeft(a4),a1
- bra StoreWinPos
-
- NoBlankMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget picked ?
- bne NoBlankGadUp
-
- cmp.w #GD_BlankMouse,d7 ; Blank mouse ?
- bne.s NoBlankMouseGad
- bchg #0,MouseEver(a4)
- move.b MouseEver(a4),d0
- move.l #GD_BlankMouse,d1
- lea BlankGads(a4),a0
- move.l BlankHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
-
- NoBlankMouseGad cmp.w #GD_ScrTime,d7 ; New screen time ?
- bne.s NoScrTimeGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,ScreenTime(a4)
- move.b #1,TimeReset(a4)
- rts
- .Key lea ScreenTime(a4),a0
- move.l #GD_ScrTime,d7
- SetTimeOut move.l (a0),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.l #1,d0
- bge.s .GoOn
- move.l #(30*60),d0
- bra.s .GoOn
- .Up addq.l #1,d0
- cmp.l #(30*60),d0
- ble.s .GoOn
- moveq #0,d0
- .GoOn move.l d0,(a0)
- move.l d0,d1
- move.l d7,d0
- bsr SetBlankSlid
- move.b #1,TimeReset(a4)
- rts
-
- NoScrTimeGad cmp.w #GD_MouseTime,d7 ; new mouse time ?
- bne.s NoMouseTimeGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,MouseTime(a4)
- move.b #1,TimeReset(a4)
- rts
- .Key lea MouseTime(a4),a0
- move.l #GD_MouseTime,d7
- bra SetTimeOut
-
- NoMouseTimeGad cmp.w #GD_BlankType,d7 ; Change blank type ?
- bne.s NoBlankTypeGad
- tst.l d5
- blt.s DoBlankTypeKey
- move.b d5,ScreenDimm(a4)
- BlankTypeKey move.l #GD_DimmFac,d0
- moveq #0,d1
- move.b ScreenDimm(a4),d1
- bchg #0,d1
- lea BlankGads(a4),a0
- move.l BlankHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- rts
- DoBlankTypeKey bchg #0,ScreenDimm(a4)
- move.l #GD_BlankType,d0
- moveq #0,d1
- move.b ScreenDimm(a4),d1
- lea BlankGads(a4),a0
- move.l BlankHandle(a4),a1
- RELLIB SetCycleGad,_KCXBase
- bra BlankTypeKey
-
- NoBlankTypeGad cmp.w #GD_DimmFac,d7 ; New dimm factor ?
- bne.s NoDimmFacGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,DimmValue(a4)
- rts
- .Key tst.b ScreenDimm(a4)
- beq.s NoBlankGadUp
- move.l DimmValue(a4),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.l #1,d0
- bne.s .GoOn
- moveq #48,d0
- bra.s .GoOn
- .Up addq.l #1,d0
- cmp.l #48,d0
- ble.s .GoOn
- moveq #1,d0
- .GoOn move.l d0,DimmValue(a4)
- move.l d0,d1
- move.l #GD_DimmFac,d0
- bra SetBlankSlid
- NoDimmFacGad
- NoBlankGadUp rts
-
-
-
- **********************************************************************
- * Handle ClockDef window *
- **********************************************************************
- HandleClockDefWin
- cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseClockDefWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoClockDefMove
- move.l ClockDefHandle(a4),a0
- lea ClockDefWinLeft(a4),a1
- bra StoreWinPos
-
- NoClockDefMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget picked ?
- bne NoClockDefGadUp
-
- cmp.w #GD_Display,d7 ; Clock on/off ?
- bne.s NoDisplayGad
- bsr ClearTitleBar ; Clear titlebar
- bchg #0,ShowClock(a4)
- move.b ShowClock(a4),d0 ; reflect new choice
- move.l #GD_Display,d1
- bsr SetClockDefBox
- bsr CloseClockWin ; Close clock window
- bra SigTime
-
- NoDisplayGad cmp.w #GD_DisplayWin,d7 ; Display in window ?
- bne.s NoDisplayWinGad
- bsr ClearTitleBar
- bchg #0,ClockWin(a4)
- move.b ClockWin(a4),d0
- move.l #GD_DisplayWin,d1
- bsr SetClockDefBox
- bra SigTime
-
- NoDisplayWinGad cmp.w #GD_ShowTime,d7 ; Display time ?
- bne.s NoShowTimeGad
- bsr ClearTitleBar
- bchg #0,DoShowTime(a4)
- move.b DoShowTime(a4),d0
- move.l #GD_ShowTime,d1
- bsr SetClockDefBox
- bra SigTime
-
- NoShowTimeGad cmp.w #GD_ShowSecs,d7 ; Display seconds ?
- bne.s NoShowSecsGad
- bsr ClearTitleBar
- bchg #0,ShowSecs(a4)
- move.b ShowSecs(a4),d0
- move.l #GD_ShowSecs,d1
- bsr SetClockDefBox
- bra SigTime
-
- NoShowSecsGad cmp.w #GD_ShowDate,d7 ; Show date ?
- bne.s NoShowDateGad
- bsr ClearTitleBar
- bchg #0,ShowDate(a4)
- move.b ShowDate(a4),d0
- move.l #GD_ShowDate,d1
- bsr SetClockDefBox
- bra SigTime
-
- NoShowDateGad cmp.w #GD_ShowDay,d7 ; Show day ?
- bne.s NoShowDayGad
- bsr ClearTitleBar
- bchg #0,ShowDay(a4)
- move.b ShowDay(a4),d0
- move.l #GD_ShowDay,d1
- bsr SetClockDefBox
- bra SigTime
-
- NoShowDayGad cmp.w #GD_ShortDay,d7 ; Short day ?
- bne.s NoShortDayGad
- bsr ClearTitleBar
- bchg #0,ShortDay(a4)
- move.b ShortDay(a4),d0
- move.l #GD_ShortDay,d1
- bsr SetClockDefBox
- bra SigTime
-
- NoShortDayGad cmp.w #GD_ShowMouse,d7 ; Show mouse positions ?
- bne.s NoShowMouseGad
- bsr ClearTitleBar
- bchg #0,ShowMouse(a4)
- bsr SigTime
- move.b ShowMouse(a4),d0
- move.l #GD_ShowMouse,d1
- bra SetClockDefBox
-
- NoShowMouseGad cmp.w #GD_DateFormat,d7 ; Changed format of date ?
- bne.s NoDateFormatGad
- tst.l d5
- bge.s .NoKey
- move.w DateFormat(a4),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.w #1,d0
- bge.s .GoOn
- moveq #5,d0
- bra.s .GoOn
- .Up addq.w #1,d0
- cmp.w #5,d0
- ble.s .GoOn
- moveq #0,d0
- .GoOn move.w d0,DateFormat(a4)
- move.w d0,d1
- move.l #GD_DateFormat,d0
- lea ClockDefGads(a4),a0
- move.l ClockDefHandle(a4),a1
- RELLIB SetCycleGad,_KCXBase
- bsr ClearTitleBar
- bra SigTime
- .NoKey move.w d5,DateFormat(a4)
- bsr ClearTitleBar
- bra SigTime
-
- NoDateFormatGad cmp.w #GD_TFrontPen,d7 ; New text front pen ?
- bne.s NoTFrontPenGad
- tst.l d5
- blt.s TFrontKey
- ext.l d5
- move.l d5,TextFrontPen(a4)
- RemakeBCols bsr ClearTitleBar
- bra SigTime
- TFrontKey lea TextFrontPen(a4),a0
- move.l #GD_TFrontPen,d7
- SetDisplayPen moveq #1,d1
- move.l ScrDepth1+4,d2
- lsl.l d2,d1
- subq.l #1,d1
- move.l (a0),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.l #1,d0
- bge.s .GoOn
- move.l d1,d0
- bra.s .GoOn
- .Up addq.l #1,d0
- cmp.l d1,d0
- ble.s .GoOn
- moveq #0,d0
- .GoOn move.l d0,(a0)
- move.l d0,d1
- move.l d7,d0
- bsr SetClockDefPal
- bsr ClearTitleBar
- bra SigTime
-
- NoTFrontPenGad cmp.w #GD_TBackPen,d7 ; New text back pen ?
- bne.s NoTBackPenGad
- tst.l d5
- bge.s .NoKey
- lea TextBackPen(a4),a0
- move.l #GD_TBackPen,d7
- bra.s SetDisplayPen
- .NoKey ext.l d5
- move.l d5,TextBackPen(a4)
- bra.s RemakeBCols
-
- NoTBackPenGad cmp.w #GD_GFrontPen,d7 ; New gauge front pen ?
- bne.s NoGFrontPenGad
- tst.l d5
- bge.s .NoKey
- lea GaugeFrontPen(a4),a0
- move.l #GD_GFrontPen,d7
- bra.s SetDisplayPen
- .NoKey ext.l d5
- move.l d5,GaugeFrontPen(a4)
- bra RemakeBCols
-
- NoGFrontPenGad cmp.w #GD_GBackPen,d7 ; New gauge back pen ?
- bne.s NoGBackPenGad
- tst.l d5
- bge.s .NoKey
- lea GaugeBackPen(a4),a0
- move.l #GD_GBackPen,d7
- bra SetDisplayPen
- .NoKey ext.l d5
- move.l d5,GaugeBackPen(a4)
- bra RemakeBCols
-
- NoGBackPenGad cmp.w #GD_GaugeWidth,d7 ; Set new width for gauge ?
- bne.s NoGaugeWidthGad
- move.l d5,-(sp)
- bsr ClearTitleBar
- move.l (sp)+,d5
- tst.l d5
- bge.s .NoKey
- move.l MaxBarLen(a4),d5
- and.w #(IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT),d4
- beq.s .Up
- cmp.l #50,d5
- bgt.s .Down
- move.l #MAXBARLEN,d5
- bra.s .NoKey
- .Down subq.l #1,d5
- bra.s .NoKey
- .Up cmp.l #MAXBARLEN,d5
- blt.s .DoUp
- move.l #50,d5
- bra.s .NoKey
- .DoUp addq.l #1,d5
- .NoKey move.l #GD_GaugeWidth,d0
- move.l d5,d1
- lea ClockDefGads(a4),a0
- move.l ClockDefHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
- CALLSYS Forbid
- ext.l d5
- move.l d5,MaxBarLen(a4)
- CALLSYS Permit
- bra SigTime
- NoGaugeWidthGad
- NoClockDefGadUp rts
-
-
-
- **********************************************************************
- * Handle mouse window *
- **********************************************************************
- HandleMouseWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseMouseWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoMouseMove
- move.l MouseHandle(a4),a0
- lea MouseWinLeft(a4),a1
- bra StoreWinPos
-
- NoMouseMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget picked ?
- bne NoMouseGadUp
-
- cmp.w #GD_WindowAct,d7 ; Window activation
- bne.s NoWindowActGad
- WindowActKey bchg #0,DoActivate(a4)
- move.b DoActivate(a4),d0
- move.l #GD_WindowAct,d1
- bra SetMouseBox
-
- NoWindowActGad cmp.w #GD_SunMouse,d7 ; Sun mouse ?
- bne.s NoSunMouseGad
- SunMouseKey bchg #0,SunMouse(a4)
- move.b SunMouse(a4),d0
- move.l #GD_SunMouse,d1
- bra SetMouseBox
-
- NoSunMouseGad cmp.w #GD_MouseAccel,d7 ; Mouse acceleration ?
- bne.s NoMouseAGad
- MouseAKey bchg #0,MouseAccel(a4)
- move.b MouseAccel(a4),d0
- move.l #GD_MouseAccel,d1
- bsr SetMouseBox
- bra SetMouseGads
-
- NoMouseAGad cmp.w #GD_Accelerate,d7 ; Acceleration ?
- bne.s NoAccelGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,Accelerate(a4)
- rts
- .Key tst.b MouseAccel(a4)
- beq.s .End
- move.l Accelerate(a4),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.l #1,d0
- cmp.l #MINACC,d0
- bge.s .GoOn
- moveq #MAXACC,d0
- bra.s .GoOn
- .Up addq.l #1,d0
- cmp.l #MAXACC,d0
- ble.s .GoOn
- move.l #MINACC,d0
- .GoOn move.l d0,Accelerate(a4)
- move.l d0,d1
- move.l #GD_Accelerate,d0
- lea MouseGads(a4),a0
- move.l MouseHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
- .End rts
-
- NoAccelGad cmp.w #GD_Threshold,d7 ; Threshold ?
- bne.s NoThreshGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,ThresHold(a4)
- rts
- .Key tst.b MouseAccel(a4)
- beq.s .End
- move.l ThresHold(a4),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.l #1,d0
- cmp.l #MINTHRES,d0
- bge.s .GoOn
- moveq #MAXTHRES,d0
- bra.s .GoOn
- .Up addq.l #1,d0
- cmp.l #MAXTHRES,d0
- ble.s .GoOn
- move.l #MINTHRES,d0
- .GoOn move.l d0,ThresHold(a4)
- move.l d0,d1
- move.l #GD_Threshold,d0
- lea MouseGads(a4),a0
- move.l MouseHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
- .End rts
-
- NoThreshGad cmp.w #GD_HoldXQual,d7 ; HoldX qualifier ?
- bne.s NoHoldXGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea MouseGads(a4),a0
- move.l MouseHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.w #-1,NewCode(a4)
- move.w HoldXQual(a4),NewQual(a4)
- move.b #1,KeepCode(a4) ; Code should be kept
- LOCLEA HoldXQualTxt,a0
- bsr GetQualifier
- tst.w NewCode(a4)
- beq.s .End
- move.w NewQual(a4),HoldXQual(a4)
- bsr SetMouseGads
- .End rts
-
- NoHoldXGad cmp.w #GD_HoldYQual,d7 ; New HoldY qualifier ?
- bne.s NoHoldYGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea MouseGads(a4),a0
- move.l MouseHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.w #-1,NewCode(a4)
- move.w HoldYQual(a4),NewQual(a4)
- move.b #1,KeepCode(a4) ; Code should be kept
- LOCLEA HoldYQualTxt,a0
- bsr GetQualifier
- tst.w NewCode(a4)
- beq.s NoHoldYGad
- move.w NewQual(a4),HoldYQual(a4)
- bra SetMouseGads
-
- NoHoldYGad cmp.w #GD_Lefty,d7 ; LeftyMouse ?
- bne.s NoLeftyGad
- bchg #0,LeftyMouse(a4)
- move.b LeftyMouse(a4),d0
- move.l #GD_Lefty,d1
- bra SetMouseBox
-
- NoLeftyGad cmp.w #GD_HoldMouse,d7 ; Hold Mouse ?
- bne.s NoHoldGad
- bchg #0,HoldMouse(a4)
- move.b HoldMouse(a4),d0
- move.l #GD_HoldMouse,d1
- bra SetMouseBox
-
- NoHoldGad cmp.w #GD_WinReAct,d7 ; Window Reactivation ?
- bne.s NoWinReact
- bchg #0,WindowReAct(a4)
- move.b WindowReAct(a4),d0
- move.l #GD_WinReAct,d1
- bra SetMouseBox
-
- NoWinReact rts
- NoMouseGadUp rts
-
-
-
-
- **********************************************************************
- * Close HotKey window *
- **********************************************************************
- HandleHotKeyWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseHotKeyWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Move window ?
- bne.s NoHotKeyMove
- move.l HotKeyHandle(a4),a0
- lea HotKeyWinLeft(a4),a1
- bra StoreWinPos
-
- NoHotKeyMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget picked ?
- bne NoHotKeyGadUp
-
- cmp.w #GD_HotKeyList,d7 ; New HotKey
- bne NoHotKeyList
- tst.l d5
- bge.s .NoKey
- move.l HotKeyChange(a4),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- cmp.l #-1,d0
- beq.s .End
- tst.l d0
- beq.s .GoOn
- subq.l #1,d0
- bra.s .GoOn
- .Up cmp.l #HOTKEYNUM-1,d0
- bge.s .GoOn
- addq.l #1,d0
- .GoOn move.l d0,HotKeyChange(a4)
- move.l d0,d1
- move.l d0,d2
- move.l #GD_HotKeyList,d0
- lea HotKeyGads(a4),a0
- move.l HotKeyHandle(a4),a1
- RELLIB SetListViewGad,_KCXBase
- move.l HotKeyChange(a4),d5
- .NoKey ext.l d5 ; Get number of HotKey to change
- move.l d5,HotKeyChange(a4)
-
- move.l #GD_HotKeyDef,d0
- lea HotKeyGads(a4),a0
- move.l HotKeyHandle(a4),a1
- lea HotKeyGadStat,a2 ; Copy HotKey definition to
- lsl.l #2,d5 ; String-Gadget
- move.l 0(a2,d5),a2
- add.l a4,a2
- RELLIB SetStringGad,_KCXBase
-
- moveq #GD_HotKeyDef,d0 ; Activate Stringgadget
- moveq #0,d1
- lea HotKeyGads(a4),a0
- move.l HotKeyHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- .End rts
-
- NoHotKeyList cmp.w #GD_HotKeyDef,d7 ; Changed HotKey definition ?
- bne.s NoHotKeyDefGad
- tst.l d5
- bge.s .NoKey
- tst.l HotKeyChange(a4)
- blt.s .End
- move.l #GD_HotKeyDef,d0
- lea HotKeyGads(a4),a0
- move.l HotKeyHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- .End rts
- .NoKey lea HotKeyGadVars,a2 ; Get Vars for HotKey
- move.l HotKeyChange(a4),d7
- mulu #12,d7
- movem.l 0(a2,d7),d0-d2
- sub.l a0,a0
- tst.l d0
- beq.s .NoWindow
- move.l 0(a4,d0),a0
- .NoWindow lea 0(a4,d1),a1
- move.l 0(a4,d2),a2
- lea HotKeyGads(a4),a3 ; Get new definition for HotKey
- move.l 4(a3),a3
- move.l gg_SpecialInfo(a3),a3
- move.l si_Buffer(a3),a3
- lea HotKeyGadStat,a5 ; Try to remake HotKey
- move.l HotKeyChange(a4),d7
- lsl.l #2,d7
- move.l 0(a5,d7),a5
- add.l a4,a5
- bra RemakeHotKey
- NoHotKeyDefGad rts
- NoHotKeyGadUp rts
-
-
-
-
-
-
- **********************************************************************
- * Handle FKeys window *
- **********************************************************************
- HandleFKeyWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseFKeyWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoFKeyMove
- move.l FKeyHandle(a4),a0
- lea FKeyWinLeft(a4),a1
- bra StoreWinPos
-
- NoFKeyMove cmp.l #IDCMP_ACTIVEWINDOW,d6 ; Window activated ?
- bne.s NoFKeyAct
- move.l #GD_F1,d0
- lea FKeyGads(a4),a0
- move.l FKeyHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- rts
-
- NoFKeyAct cmp.l #IDCMP_GADGETUP,d6 ; Gadget picked ?
- bne NoFKeyGadUp
-
- cmp.w #GD_F10,d7 ; New F-Key ?
- bgt.s NoNewFKey
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea FKeyGads(a4),a0
- move.l FKeyHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- .End rts
- .NoKey lea FKeysNew(a4),a1
- move.l FKeyQual(a4),d0
- mulu #(MAXFKEYWIDTH+2)*10,d0
- lea 0(a1,d0),a1
- sub.w #GD_F1,d7
- mulu #(MAXFKEYWIDTH+2),d7
- lea 0(a1,d7.w),a1
- move.l gg_SpecialInfo(a2),a0
- move.l si_Buffer(a0),a0
- bra StrCpy
-
- NoNewFKey cmp.w #GD_FKeyQual,d7 ; Changed qualifier ?
- bne.s NoNewFQual
- tst.l d5
- bge.s .NoKey
- move.l FKeyQual(a4),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.l #1,d0
- bge.s .GoOn
- moveq #3,d0
- bra.s .GoOn
- .Up addq.l #1,d0
- cmp.l #4,d0
- blt.s .GoOn
- moveq #0,d0
- .GoOn move.l d0,FKeyQual(a4)
- bra SetFKeyGads
- .NoKey ext.l d5
- move.l d5,FKeyQual(a4)
- bra SetFKeyGads
-
- NoNewFQual cmp.w #GD_FKeyAct,d7 ; Activate stuff ?
- bne.s NoFKeyOnGad
- bchg #0,FKeysOn(a4)
- move.b FKeysOn(a4),d0
- move.l #GD_FKeyAct,d1
- lea FKeyGads(a4),a0
- move.l FKeyHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
-
- NoFKeyOnGad cmp.w #GD_FKeyOk,d7 ; Clicked OK ?
- bne.s NoFKeyOkGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea FKeyGads(a4),a0
- move.l FKeyHandle(a4),a5
- bsr ButtonCheck
- .NoKey lea FKeysNew(a4),a0
- lea FKeys(a4),a1
- move.w #((MAXFKEYWIDTH+2)*10*4)-1,d7
- .Loop move.b (a0)+,(a1)+
- dbf d7,.Loop
- bra CloseFKeyWin
-
- NoFKeyOkGad cmp.w #GD_FKeyCancel,d7 ; Clicked Cancel ?
- bne.s NoFKeyGadUp
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea FKeyGads(a4),a0
- move.l FKeyHandle(a4),a5
- bsr ButtonCheck
- .NoKey bra CloseFKeyWin
- NoFKeyGadUp rts
-
-
-
-
- **********************************************************************
- * Handle the Preferences window *
- **********************************************************************
- HandlePrefsWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq ClosePrefsWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoPrefsMove
- move.l PrefsHandle(a4),a0
- lea PrefsWinLeft(a4),a1
- bra StoreWinPos
-
- NoPrefsMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget picked ?
- bne NoPrefsGadUp
-
- cmp.w #GD_Normal1,d7 ; One of the cost gadgets ?
- blt.s NoCostTimeGad
- cmp.w #GD_Cheap3,d7
- bgt.s NoCostTimeGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- rts
- .NoKey ext.l d7 ; Calc offset to time
- move.l d7,d6 ; Copy number of gadget
- move.l d7,d0
- lsr.w #1,d0 ; D0 = Offset to timezone
- move.l d0,d1
- add.l d1,d1
- sub.l d1,d7 ; D7 = Offset to normal/cheap
- lea CostUnit1(a4),a0
- lsl.l #3,d0
- lsl.l #2,d7
- lea 0(a0,d0),a0
- move.l 0(a0,d7),d1 ; Get old cost
- move.l gg_SpecialInfo(a2),a3
- move.l si_LongInt(a3),d0 ; Get new one
- tst.l d0 ; Less zero or even equal ?
- blt.s .Error
- move.l d0,0(a0,d7) ; Store new time
- bra.s DoNewCosts
- .Error move.l d6,d0
- bsr SetPrefsInteger
- DoNewCosts move.b #1,DoRemakeCosts(a4)
- move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_REMAKECOSTS,d0
- RELLIB ComPut,_KCXBase
- rts
-
- NoCostTimeGad cmp.w #GD_CostUnit,d7 ; New cost/unit entered ?
- bne.s NoCostGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- rts
- .NoKey move.l gg_SpecialInfo(a2),a3
- move.l si_LongInt(a3),d0 ; Get new value
- tst.l d0 ; <= 0 ?
- ble.s .Error
- move.l d0,CostUnit(a4) ; Store new value
- bra.s .End
- .Error move.l #GD_CostUnit,d0
- move.l CostUnit(a4),d1
- bsr SetPrefsInteger
- .End bra.s DoNewCosts
-
- NoCostGad cmp.w #GD_ClearLog,d7 ; Clear log file ?
- bne.s NoClearGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a5
- bsr ButtonCheck
- .NoKey lea LogFileName(a4),a0
- move.l a0,d1
- RELLIB DeleteFile,_DOSBase
- rts
-
- NoClearGad cmp.w #GD_PopUpBill,d7 ; Enable/Disable PopUp fo BillWin
- bne.s NoPopBillGad
- bchg #0,BillPopUp(a4)
- move.b BillPopUp(a4),d0
- move.l #GD_PopUpBill,d1
- bra SetPrefsBox
-
- NoPopBillGad cmp.w #GD_ActiveBill,d7 ; Active Bill window on popup ?
- bne.s NoActBillGad
- bchg #0,ActiveBill(a4)
- move.b ActiveBill(a4),d0
- move.l #GD_ActiveBill,d1
- bra SetPrefsBox
-
- NoActBillGad cmp.w #GD_OpenBill,d7 ; New public screen chosen ?
- bne.s NoWinScrGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- rts
- .NoKey move.l gg_SpecialInfo(a2),a0
- move.l si_Buffer(a0),a0
- lea PubScreenName(a4),a1
- move.l #256,d7
- bra StrNCpy
-
- NoWinScrGad cmp.w #GD_SaveLog,d7 ; Select a file via ASL-Request ?
- bne.s NoSaveToGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a5
- bsr ButtonCheck
- .NoKey pea _LVOSetStringGad
- clr.l -(sp)
- pea PrefsGads(a4)
- move.w #GD_LogName,-(sp)
- lea LogFileName(a4),a0
- move.l a0,-(sp)
- LOCLEA LogFileHeader,d0
- move.l d0,-(sp)
- move.l PrefsHandle(a4),-(sp)
- bsr GetFileName
- lea 26(sp),sp
- rts
-
- NoSaveToGad cmp.w #GD_LogName,d7 ; Entered new logfilename ?
- bne NoLogFileGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- rts
- .NoKey link a3,#-FILEBUFFSIZE ; Get Buffer for FileName
- move.l gg_SpecialInfo(a2),a5 ; Check if can be saved to dir
- move.l si_Buffer(a5),a0
- lea -FILEBUFFSIZE(a3),a1
- bsr StrCpy ; copy new filename
- lea -FILEBUFFSIZE(a3),a0
- bsr StrLen
- subq.l #1,d0
- .CheckLoop cmp.b #':',(a0) ; Dir entered ?
- beq.s .DoDirCheck
- cmp.b #'/',(a0)
- beq.s .DoDirCheck
- addq.l #1,a0
- dbf d0,.CheckLoop
- bra.s .OnlyFile
- .DoDirCheck move.l a0,a1 ; Yep...Extract dir name
- .FindDir tst.b (a0)
- beq.s .NameEnd
- cmp.b #'/',(a0)
- bne.s .Loop
- move.l a0,a1
- .Loop addq.l #1,a0
- bra.s .FindDir
- .NameEnd clr.b 1(a1) ; Dir name extracted
- lea -FILEBUFFSIZE(a3),a0 ; try to lock it
- move.l a0,d1
- move.l #ACCESS_READ,d2
- RELLIB Lock,_DOSBase
- tst.l d0
- bne.s .Ok
- DOLIB IoErr ; Error
- move.l d0,ErrorPrefs(a4)
- bsr DisplayError
- bra.s .Error
- .Ok move.l d0,d1 ; No Error
- DOLIB UnLock
- .OnlyFile move.l si_Buffer(a5),a0 ; Copy new filename
- lea LogFileName(a4),a1
- bsr StrCpy
- .Error move.l #GD_LogName,d0
- lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a1
- lea LogFileName(a4),a2
- RELLIB SetStringGad,_KCXBase
- unlk a3 ; Clear buffer
- rts
-
- NoLogFileGad cmp.w #GD_TotalSum,d7 ; Display total sum ?
- bne.s NoSumGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a5
- bsr ButtonCheck
- .NoKey bra DisplayTotalSum
-
- NoSumGad cmp.w #GD_StartCheap,d7 ; New Starttime ?
- bne.s NoCheapStartGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,CheapStart(a4)
- bra DoNewCosts
- .Key lea CheapStart(a4),a0
- move.l #GD_StartCheap,d7
- SetTimeGad move.l (a0),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- subq.l #1,d0
- bge.s .NoRestart
- move.l #143,d0
- bra.s .NoRestart
- .Up addq.l #1,d0
- cmp.l #144,d0
- blt.s .NoRestart
- moveq #0,d0
- .NoRestart move.l d0,(a0)
- move.l d0,d1
- move.l d7,d0
- lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
- bra DoNewCosts
-
- NoCheapStartGad cmp.w #GD_StartNorm,d7 ; New Endtime ?
- bne.s NoStartNormGad
- tst.l d5
- blt.s .Key
- ext.l d5
- move.l d5,CheapStop(a4)
- bra DoNewCosts
- .Key lea CheapStop(a4),a0
- move.l #GD_StartNorm,d7
- bra SetTimeGad
-
- NoStartNormGad cmp.w #GD_Sunday,d7 ; Day changed ?
- blt.s .End
- cmp.w #GD_Saturday,d7
- bgt.s .End
- sub.w #GD_Sunday,d7
- lea Sunday(a4),a0
- bchg #0,0(a0,d7)
- move.b 0(a0,d7),d0
- add.w #GD_Sunday,d7
- move.w d7,d1
- bsr SetPrefsBox
- bra DoNewCosts
- .End rts
- NoPrefsGadUp rts
-
-
-
- **********************************************************************
- * Handle the Preferences window *
- **********************************************************************
- HandleLockWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseLockWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoLockMove
- move.l LockHandle(a4),a0
- lea LockWinLeft(a4),a1
- bra StoreWinPos
-
- NoLockMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget released ?
- bne NoLockGadUp
-
- cmp.w #GD_WindowList,d7 ; Selected an entry ?
- bne NoWindowListGad
- tst.l d5
- bge.s .NoKey
- tst.w NumLockEntries(a4)
- beq.s .End
- move.w SelWindow(a4),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- tst.w d0
- blt.s .End
- beq.s .GoOn
- subq.w #1,d0
- bra.s .GoOn
- .Up addq.w #1,d0
- cmp.w NumLockEntries(a4),d0
- blt.s .GoOn
- move.w NumLockEntries(a4),d0
- subq.w #1,d0
- .GoOn move.w d0,SelWindow(a4)
- move.l #GD_WindowList,d0
- move.w SelWindow(a4),d1
- move.w d1,d2
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- RELLIB SetListViewGad,_KCXBase
- moveq #0,d1
- move.l #GD_WindowName,d0
- DOLIB GhostGadget
- move.l #GD_DeleteWindow,d0
- DOLIB GhostGadget
- tst.l BackTask(a4)
- beq.s .End
- move.l #GD_SelectWindow,d0
- DOLIB GhostGadget
- .End rts
- .NoKey move.w d5,SelWindow(a4)
- move.l #GD_WindowName,d0
- moveq #0,d1
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- move.l #GD_DeleteWindow,d0
- DOLIB GhostGadget
- tst.b LockListType(a4)
- bne.s .SelectOk
- tst.l BackTask(a4)
- beq.s .NoSelect
- .SelectOk move.l #GD_SelectWindow,d0
- DOLIB GhostGadget
- .NoSelect rts
-
- NoWindowListGad cmp.w #GD_WindowName,d7 ; Changed name for window ?
- bne.s NoWindowNameGad
- tst.l d5
- bge.s .NoKey
- tst.w SelWindow(a4)
- blt.s .EndKey
- move.l #GD_WindowName,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- .EndKey rts
- .NoKey move.w SelWindow(a4),d0
- bsr GetEntry
- move.l a1,d0
- beq.s .End
- move.l gg_SpecialInfo(a2),a0
- move.l si_Buffer(a0),a0
- lea lw_Name(a1),a1
- moveq #79,d7
- bsr StrNCpy
- move.l LockHandle(a4),a0
- RELLIB GT_RefreshWindow,_GadToolsBase
- .End rts
-
- NoWindowNameGad cmp.w #GD_AddWindow,d7 ; New entry ?
- bne NoAddWinGad
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.l #lw_SIZEOF,d0
- move.l #MEMF_CLEAR,d1
- CALLSYS AllocVec
- tst.l d0
- beq .Error
- move.l d0,-(sp)
- move.l #GD_WindowList,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- move.l (sp)+,d0
- tst.b LockListType(a4)
- beq.s .Add2Wins
- lea TaskWinBase(a4),a0 ; Add to list of tasks
- bra.s .DoAdd
- .Add2Wins lea WindowBase(a4),a0 ; Add entry to tail of list
- .DoAdd move.l d0,a1
- move.l d0,a2
- ADDTAIL
- addq.w #1,NumLockEntries(a4)
- move.w NumLockEntries(a4),d0
- subq.w #1,d0
- move.w d0,SelWindow(a4)
- LOCLEA UnusedStr,a0
- lea lw_Name(a2),a1
- move.l a1,a3
- move.l a1,LN_NAME(a2)
- moveq #79,d7
- bsr StrNCpy
- move.l #GD_WindowList,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- tst.b LockListType(a4) ; Which list to show ???
- beq.s .ShowWins
- lea TaskWinBase(a4),a2
- bra.s .DoShow
- .ShowWins lea WindowBase(a4),a2
- .DoShow RELLIB SetListViewLst,_KCXBase
- move.w SelWindow(a4),d1
- move.w d1,d2
- DOLIB SetListViewGad
- move.l #GD_WindowName,d0
- moveq #0,d1
- DOLIB GhostGadget
- move.l a3,a2
- DOLIB SetStringGad
- move.l #GD_DeleteWindow,d0
- DOLIB GhostGadget
- tst.b LockListType(a4)
- bne.s .SelectOk
- tst.l BackTask(a4)
- beq.s .NoSelect
- .SelectOk move.l #GD_SelectWindow,d0
- DOLIB GhostGadget
- .NoSelect move.l #GD_WindowName,d0
- DOLIB ActStringGad
- move.l LockHandle(a4),a0
- sub.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
- move.w NumLockEntries(a4),d0
- tst.b LockListType(a4)
- beq.s .ActWins
- move.w d0,NumTaskWins(a4)
- rts
- .ActWins move.w d0,NumWindows(a4)
- rts
- .Error move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- rts
-
- NoAddWinGad cmp.w #GD_SelectWindow,d7 ; Select a new window now ?
- bne NoSelectWinGad
- tst.w SelWindow(a4)
- bge.s .DoSelect
- rts
- .DoSelect tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a5
- bsr ButtonCheck
- .NoKey bsr BusyAllWins
- tst.b LockListType(a4)
- beq.s .GetWindow
- move.l #GD_WindowList,d0 ; Reset list
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- move.w SelWindow(a4),d0 ; Get address of selected entry
- bsr GetEntry
- pea lw_Name
- move.l a1,-(sp)
- bsr SelectTaskName
- addq.l #8,sp
- bsr UnbusyAllWins ; Unbusy windows
- move.l #GD_WindowList,d0 ; Reset list
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- lea TaskWinBase(a4),a2
- RELLIB SetListViewLst,_KCXBase
- move.w SelWindow(a4),d0 ; Reget address of entry
- bsr GetEntry
- move.l a1,a2 ; Set String gadget
- move.l #GD_WindowName,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- lea lw_Name(a2),a2
- DOLIB SetStringGad
- move.l LockHandle(a4),a0 ; Refresh window
- sub.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
- rts
- .GetWindow move.l LockHandle(a4),a0
- LOCLEA SelectWinTxt,a1
- move.l #-1,a2
- RELLIB SetWindowTitles,_IntuitionBase
- ST GetNewWindow(a4)
- move.l #SIGLBUTTON,d0
- CALLSYS Wait
- SF GetNewWindow(a4)
- move.l LockHandle(a4),a0
- LOCLEA LockTitle,a1
- move.l #-1,a2
- RELLIB SetWindowTitles,_IntuitionBase
- CALLSYS Forbid
- RELLIB FindWindow,_KCXBase
- tst.l d0
- beq.s .End
- move.l d0,a0
- move.l lr_Window(a0),d0
- beq.s .End
- move.l d0,a3
- move.w SelWindow(a4),d0
- bsr GetEntry
- move.l a1,d0
- beq.s .End
- move.l a1,a2
- lea lw_Name(a1),a1
- move.l wd_Title(a3),a0
- move.l a0,d0
- beq.s .Error
- moveq #79,d7
- bsr StrNCpy
- .End bsr UnbusyAllWins
- CALLSYS Permit
- move.l #GD_WindowName,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- lea lw_Name(a2),a2
- RELLIB SetStringGad,_KCXBase
- move.l LockHandle(a4),a0
- sub.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
- rts
- .Error bsr UnbusyAllWins
- CALLSYS Permit
- move.l #NOTITLE_ERR,ErrorPrefs(a4)
- bsr DisplayError
- rts
-
- NoSelectWinGad cmp.w #GD_DeleteWindow,d7 ; Delete an entry ?
- bne NoDeleteWinGad
- tst.w SelWindow(a4)
- bge.s .DoDelete
- rts
- .DoDelete tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.l #GD_WindowList,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- move.w SelWindow(a4),d0
- bsr GetEntry
- move.l a1,d0
- beq .End
- move.l a1,a2
- REMOVE
- move.l a2,a1
- CALLSYS FreeVec
- subq.w #1,NumLockEntries(a4)
- move.w NumLockEntries(a4),d0
- move.w SelWindow(a4),d1
- cmp.w d0,d1
- blt.s .GoOn
- move.w d0,d1
- subq.w #1,d1
- .GoOn move.w d1,SelWindow(a4)
- move.l #GD_WindowList,d0
- move.w SelWindow(a4),d1
- move.w d1,d2
- bge.s .NotLess
- moveq #0,d2
- .NotLess lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- tst.b LockListType(a4)
- beq.s .ShowWins
- lea TaskWinBase(a4),a2
- bra.s .DoShow
- .ShowWins lea WindowBase(a4),a2
- .DoShow RELLIB SetListViewLst,_KCXBase
- DOLIB SetListViewGad
- .Disable tst.w NumLockEntries(a4)
- bgt.s .End
- moveq #1,d1
- move.l #GD_WindowName,d0
- RELLIB GhostGadget,_KCXBase
- move.l #GD_DeleteWindow,d0
- DOLIB GhostGadget
- move.l #GD_SelectWindow,d0
- DOLIB GhostGadget
- .End move.l LockHandle(a4),a0
- sub.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
- move.w NumLockEntries(a4),d0
- tst.b LockListType(a4)
- beq.s .ActWins
- move.w d0,NumTaskWins(a4)
- rts
- .ActWins move.w d0,NumWindows(a4)
- rts
-
- NoDeleteWinGad cmp.w #GD_LockListType,d7 ; Change to other list ?
- bne NoLockListGad
- bchg #0,LockListType(a4)
- move.b LockListType(a4),d0
- beq.s .ShowWindows
- move.l #GD_WindowList,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- lea TaskWinBase(a4),a2
- DOLIB SetListViewLst
- move.w NumTaskWins(a4),d0
- bra.s .End
- .ShowWindows move.l #GD_WindowList,d0
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- lea WindowBase(a4),a2
- DOLIB SetListViewLst
- move.w NumWindows(a4),d0
- .End move.w d0,NumLockEntries(a4)
- move.w #~0,SelWindow(a4)
- move.l #GD_WindowList,d0
- moveq #0,d1
- move.w SelWindow(a4),d1
- moveq #0,d2
- DOLIB SetListViewGad
- moveq #1,d1
- move.l #GD_SelectWindow,d0
- DOLIB GhostGadget
- move.l #GD_DeleteWindow,d0
- DOLIB GhostGadget
- move.l #GD_WindowName,d0
- DOLIB GhostGadget
- move.l #GD_LockListType,d0
- moveq #0,d1
- move.b LockListType(a4),d1
- lea LockGads(a4),a0
- move.l LockHandle(a4),a1
- RELLIB SetCycleGad,_KCXBase
- move.l a1,a0
- sub.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
- NoLockListGad
- NoLockGadUp rts
-
-
-
-
-
- **********************************************************************
- * Handle the Preferences window *
- **********************************************************************
- HandleTagScrWin cmp.l #IDCMP_CLOSEWINDOW,d6 ; Close window ?
- beq CloseTagScrWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6 ; Window moved ?
- bne.s NoTagScrMove
- move.l TagScrHandle(a4),a0
- lea TagScrWinLeft(a4),a1
- bra StoreWinPos
-
- NoTagScrMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget released ?
- bne NoTagScrGadUp
-
- cmp.w #GD_TagScreensOn,d7 ; Activate TagScreens ?
- bne.s NoTagScrOnGad
- TagScrOnKey bchg #0,TagScreens(a4)
- move.b TagScreens(a4),d0
- move.l #GD_TagScreensOn,d1
- bra SetTagScrBox
-
- NoTagScrOnGad cmp.w #GD_AddTagTsk,d7 ; Add new task to list ?
- bne NoAddTagGad
- tst.l d5
- bge.s AddTagKey
- move.l d7,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a5
- bsr ButtonCheck
- AddTagKey moveq #0,d7
- AddTagEntry move.l #tagscr_SIZEOF,d0
- move.l #MEMF_CLEAR,d1
- CALLSYS AllocVec
- tst.l d0
- beq AddTagError
- move.l d0,a3
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- lea TagScrsTasks(a4),a0
- move.l a3,a1
- ADDTAIL
- tst.b d7
- beq.s .NormalEntry
- LOCLEA GlobalTagName,a0
- move.l a3,GlobalTagAdr(a4)
- bra.s .CopyName
- .NormalEntry LOCLEA UnusedStr,a0
- .CopyName lea tagscr_Name(a3),a1
- move.l a1,LN_NAME(a3)
- bsr StrCpy
- move.b d7,tagscr_Type(a3) ; Set type of entry 0 = normal / 1 = global
- move.l #DEFAULT_MONITOR_ID,tagscr_DisplayID(a3)
- addq.w #1,TagScrNum(a4)
- move.w TagScrNum(a4),d0
- subq.w #1,d0
- move.w d0,TagScrEntry(a4)
- moveq #0,d1
- bsr OffTagTaskGads
- link a5,#-dim_SIZEOF
- sub.l a0,a0
- lea -dim_SIZEOF(a5),a1
- move.l #dim_SIZEOF,d0
- move.l #DTAG_DIMS,d1
- move.l #DEFAULT_MONITOR_ID,d2
- RELLIB GetDisplayInfoData,_GfxBase
- lea -dim_SIZEOF+dim_TxtOScan(a5),a0
- moveq #0,d0
- move.w ra_MaxX(a0),d0
- addq.w #1,d0
- move.l d0,tagscr_Width(a3)
- move.w ra_MaxY(a0),d0
- addq.w #1,d0
- move.l d0,tagscr_Height(a3)
- unlk a5
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- lea TagScrsTasks(a4),a2
- RELLIB SetListViewLst,_KCXBase
- move.w TagScrEntry(a4),d1
- move.w d1,d2
- DOLIB SetListViewGad
- bsr SetTagEntryGads
- move.l #GD_TagTaskName,d0
- lea tagscr_Name(a3),a2
- DOLIB SetStringGad
- tst.l d7
- bne.s .End
- DOLIB ActStringGad
- .End rts
- AddTagError move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- rts
-
- NoAddTagGad cmp.w #GD_AddTagGlobal,d7 ; Add global tag ???
- bne.s NoTagGlobalKey
- tst.l GlobalTagAdr(a4)
- bne.s .End
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a5
- bsr ButtonCheck
- .NoKey moveq #1,d7
- bra AddTagEntry
- .End rts
-
- NoTagGlobalKey cmp.w #GD_SelectTagTask,d7 ; Select new entry ???
- bne.s NoTagSelGad
- move.w TagScrEntry(a4),d0
- blt.s .End
- bsr GetTagScrEntry
- cmp.l GlobalTagAdr(a4),a1
- beq.s .End
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d0
- beq.s .End
- cmp.l GlobalTagAdr(a4),a1
- beq.s .End
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- pea tagscr_Name
- move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,-(sp)
- bsr SelectTaskName
- addq.l #8,sp
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- lea TagScrsTasks(a4),a2
- RELLIB SetListViewLst,_KCXBase
- .End rts
-
- NoTagSelGad cmp.w #GD_RemTagTsk,d7 ; Remove a task from the list ?
- bne NoRemTagGad
- move.w TagScrEntry(a4),d0
- blt .End2
- tst.l d5
- bge.s .NoKey
- moveq #0,d0
- move.l d7,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a5
- bsr ButtonCheck
- .NoKey move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d7
- beq .End2
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- move.l d7,a2
- cmp.l GlobalTagAdr(a4),a2
- bne.s .NotGlobal
- clr.l GlobalTagAdr(a4)
- movem.l a0/a1/a2,-(sp)
- move.l #GD_AddTagGlobal,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- moveq #0,d1
- RELLIB GhostGadget,_KCXBase
- move.l #GD_TagTaskName,d0
- DOLIB GhostGadget
- move.l #GD_SelectTagTask,d0
- DOLIB GhostGadget
- movem.l (sp)+,a0/a1/a2
- .NotGlobal move.l a2,a1
- REMOVE
- move.l a2,a1
- CALLSYS FreeVec
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- lea TagScrsTasks(a4),a2
- RELLIB SetListViewLst,_KCXBase
- subq.w #1,TagScrNum(a4)
- moveq #0,d0
- moveq #0,d1
- move.w TagScrNum(a4),d0
- move.w TagScrEntry(a4),d1
- cmp.w d0,d1
- blt.s .GoOn
- move.w d0,d1
- subq.w #1,d1
- .GoOn move.w d1,TagScrEntry(a4)
- move.w d1,d2
- move.l #GD_TagTaskList,d0
- DOLIB SetListViewGad
- tst.w TagScrNum(a4)
- bgt.s .End
- moveq #1,d1
- bsr OffTagTaskGads
- .End bsr SetTagEntryGads
- move.w TagScrEntry(a4),d0
- blt.s .End2
- bsr GetTagScrEntry
- move.l a1,d0
- beq.s .End2
- moveq #0,d1
- cmp.l GlobalTagAdr(a4),a1
- bne.s .NoOff
- moveq #1,d1
- .NoOff move.l #GD_TagTaskName,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- .End2 rts
-
- NoRemTagGad cmp.w #GD_TagTaskList,d7 ; Selected an entry ?
- bne NoTagTaskList
- tst.l d5
- blt.s .Key
- move.w d5,TagScrEntry(a4)
- moveq #0,d1
- bsr OffTagTaskGads
- bsr SetTagEntryGads
- rts
- .Key tst.w TagScrNum(a4)
- beq.s .End
- move.w TagScrEntry(a4),d0
- and.w #IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT,d4
- beq.s .Up
- cmp.w #-1,d0
- beq.s .End
- tst.w d0
- beq.s .GoOn
- subq.w #1,d0
- bra.s .GoOn
- .Up move.w TagScrNum(a4),d1
- subq.w #1,d1
- cmp.w d1,d0
- bge.s .GoOn
- addq.w #1,d0
- .GoOn move.w d0,TagScrEntry(a4)
- moveq #0,d1
- bsr OffTagTaskGads
- move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,a3
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- lea TagScrsTasks(a4),a2
- RELLIB SetListViewLst,_KCXBase
- move.w TagScrEntry(a4),d1
- move.w d1,d2
- DOLIB SetListViewGad
- bsr SetTagEntryGads
- move.l #GD_TagTaskName,d0
- lea tagscr_Name(a3),a2
- DOLIB SetStringGad
- .End rts
-
- NoTagTaskList cmp.w #GD_TagTaskName,d7 ; Changed name of task ?
- bne NoTagTaskName
- tst.l d5
- bge.s .NoKey
- move.w TagScrEntry(a4),d0
- blt.s .EndKey
- bsr GetTagScrEntry
- cmp.l GlobalTagAdr(a4),a1
- beq.s .EndKey
- move.l d7,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- .EndKey rts
- .NoKey move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d0
- beq .End
- move.l gg_SpecialInfo(a2),a2
- move.l si_Buffer(a2),a2
- movem.l a0/a1,-(sp)
- LOCLEA GlobalTagName,a0
- move.l a2,a1
- bsr StrCmp
- movem.l (sp)+,a0/a1
- tst.b d0
- beq.s .RemakeOld
- tst.l GlobalTagAdr(a4)
- beq.s .GoOn
- tst.b tagscr_Type(a1)
- beq.s .GoOn
- .RemakeOld move.l #GD_TagTaskName,d0
- lea TagScrGads(a4),a0
- lea tagscr_Name(a1),a2
- move.l TagScrHandle(a4),a1
- RELLIB SetStringGad,_KCXBase
- bra.s .End
- .GoOn movem.l a1/a2,-(sp)
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- move.l #~0,a2
- RELLIB SetListViewLst,_KCXBase
- movem.l (sp)+,a1/a2
- move.l a2,a0
- lea tagscr_Name(a1),a1
- bsr StrCpy
- move.l #GD_TagTaskList,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- lea TagScrsTasks(a4),a2
- RELLIB SetListViewLst,_KCXBase
- .End rts
-
- NoTagTaskName cmp.w #GD_TagNoMon,d7 ; Enable/Disable DisplayID ??
- bne.s NoTskNoMonGad
- move.w TagScrEntry(a4),d0
- blt.s .End
- bsr GetTagScrEntry
- tst.b tagscr_LikeWB(a1)
- bne.s .End
- move.w #tagscr_Monitor,d7
- move.l #GD_TagNoMon,d6
- bsr.s SetTagTskBox
- moveq #0,d1
- move.b tagscr_Monitor(a3),d1
- bchg #0,d1
- move.l #GD_TagScrMode,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- move.l #GD_TagScrHeight,d0
- DOLIB GhostGadget
- move.l #GD_TagScrWidth,d0
- DOLIB GhostGadget
- .End rts
- SetTagTskBox move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d0
- beq.s .End
- move.l a1,a3
- bchg #0,0(a1,d7)
- move.b 0(a1,d7),d0
- move.l d6,d1
- bsr SetTagScrBox
- .End rts
-
- NoTskNoMonGad cmp.w #GD_TagHardPatch,d7 ; Check for HardPatch
- bne.s NoTagHardGad
- move.w #tagscr_HardPatch,d7
- move.l #GD_TagHardPatch,d6
- bra SetTagTskBox
-
- NoTagHardGad cmp.w #GD_TagSAPens,d7 ; Check for SAPens
- bne.s NoTagPensGad
- move.w #tagscr_Pens,d7
- move.l #GD_TagSAPens,d6
- bra SetTagTskBox
-
- NoTagPensGad cmp.w #GD_TagAutoScr,d7 ; Enable/Disable AutoScroll for Task ?
- bne.s NoTskAutoScrGad
- move.w #tagscr_AutoScroll,d7
- move.l #GD_TagAutoScr,d6
- bra SetTagTskBox
-
- NoTskAutoScrGad cmp.w #GD_TagNoFnt,d7 ; Enable/Disable NoFont for Task ?
- bne.s NoTskNoFontGad
- move.w #tagscr_Font,d7
- move.l #GD_TagNoFnt,d6
- bra SetTagTskBox
-
- NoTskNoFontGad cmp.w #GD_TagCenterScr,d7 ; AutoCenter ???
- bne.s NoTskCenterGad
- move.w #tagscr_CenterScr,d7
- move.l #GD_TagCenterScr,d6
- bra SetTagTskBox
-
- NoTskCenterGad cmp.w #GD_TagInterleave,d7 ; Interleaved BitMaps ?
- bne.s NoTskInterGad
- tst.b OS3TagsOk(a4)
- beq.s .End
- move.w #tagscr_Interleave,d7
- move.l #GD_TagInterleave,d6
- bra SetTagTskBox
- .End rts
-
- NoTskInterGad cmp.w #GD_TagLikeWB,d7 ; Like WB ?
- bne.s NoTskWBGad
- tst.b OS3TagsOk(a4)
- beq.s .End
- move.w #tagscr_LikeWB,d7
- move.l #GD_TagLikeWB,d6
- bsr SetTagTskBox
- bra SetTagEntryGads
- .End rts
-
- NoTskWBGad cmp.w #GD_TagBlackBorder,d7 ; BlackBorder ???
- bne.s NoTskBorderGad
- tst.b BlackBorderOk(a4)
- bne.s .GoOn
- rts
- .GoOn move.w #tagscr_BlackBorder,d7
- move.l #GD_TagBlackBorder,d6
- bsr SetTagTskBox
- move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- cmp.l GlobalTagAdr(a4),a1
- bne.s .End
- move.l BackPort(a4),d0
- beq.s .End
- tst.b TagScreens(a4)
- beq.s .End
- move.l d0,a0
- move.l PrefsPort(a4),a1
- move.l #COM_REBLACK,d0
- RELLIB ComPut,_KCXBase
- .End rts
-
- NoTskBorderGad cmp.w #GD_TagSystemPens,d7 ; Use SystemPens ???
- bne.s NoTskSystemPens
- move.w #tagscr_SystemPens,d7
- move.l #GD_TagSystemPens,d6
- bra SetTagTskBox
-
- NoTskSystemPens cmp.w #GD_TagScrMode,d7 ; Change Screenmode ???
- bne NoTskScrModeGad
- move.w TagScrEntry(a4),d0
- blt .End2
- bsr GetTagScrEntry
- tst.b tagscr_Monitor(a1)
- beq .End2
- tst.b tagscr_LikeWB(a1)
- bne .End2
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a5
- bsr ButtonCheck
- .NoKey link a5,#-(4+dim_SIZEOF)
- clr.l -4(a5)
- move.l TagScrHandle(a4),ScrModeTags+4
- move.l TagScrHandle(a4),rtScrModeTags+4
- move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d0
- beq .End2
- move.l a1,a3
- move.l tagscr_DisplayID(a1),OldTskScrMode+4
- move.l _AslBase(a4),a0
- cmp.w #38,LIB_VERSION(a0)
- bge .UseAsl
- move.l #RT_SCREENMODEREQ,d0
- sub.l a0,a0
- RELLIB rtAllocRequestA,_ReqToolsBase
- tst.l d0
- beq.s .rtEnd
- move.l d0,-4(a5)
- move.l d0,a1
- move.l a3,-(sp)
- LOCLEA ScrModeHead,a3
- lea rtScrModeTags(pc),a0
- DOLIB rtScreenModeRequestA
- move.l (sp)+,a3
- tst.l d0
- beq.s .rtEnd
- move.l -4(a5),a0
- move.l rtsc_DisplayID(a0),tagscr_DisplayID(a3)
- move.l rtsc_DisplayID(a0),d2
- sub.l a0,a0
- lea -(4+dim_SIZEOF)(a5),a1
- move.l #dim_SIZEOF,d0
- move.l #DTAG_DIMS,d1
- RELLIB GetDisplayInfoData,_GfxBase
- lea (-(4+dim_SIZEOF))+dim_TxtOScan(a5),a0
- moveq #0,d0
- move.w ra_MaxX(a0),d0
- addq.w #1,d0
- move.l d0,tagscr_Width(a3)
- move.w ra_MaxY(a0),d0
- addq.w #1,d0
- move.l d0,tagscr_Height(a3)
- bsr SetTagEntryGads
- .rtEnd tst.l -4(a5)
- beq .NoReq
- move.l -4(a5),a1
- RELLIB rtFreeRequest,_ReqToolsBase
- bra .NoReq
- .UseAsl LOCLEA ScrModeHead,a0
- move.l a0,ScrModeTags+28
- move.l #ASL_ScreenModeRequest,d0
- lea ScrModeTags(pc),a0
- RELLIB AllocAslRequest,_AslBase
- move.l d0,-4(a5)
- tst.l d0
- beq.s .End
- move.l d0,a0
- sub.l a1,a1
- DOLIB AslRequest
- tst.l d0
- beq.s .End
- move.l -4(a5),a0
- move.l sm_DisplayID(a0),tagscr_DisplayID(a3)
- move.l sm_DisplayID(a0),d2
- sub.l a0,a0
- lea -(4+dim_SIZEOF)(a5),a1
- move.l #dim_SIZEOF,d0
- move.l #DTAG_DIMS,d1
- RELLIB GetDisplayInfoData,_GfxBase
- lea (-(4+dim_SIZEOF))+dim_TxtOScan(a5),a0
- moveq #0,d0
- move.w ra_MaxX(a0),d0
- addq.w #1,d0
- move.l d0,tagscr_Width(a3)
- move.w ra_MaxY(a0),d0
- addq.w #1,d0
- move.l d0,tagscr_Height(a3)
- bsr SetTagEntryGads
- .End tst.l -4(a5)
- beq.s .NoReq
- move.l -4(a5),a0
- RELLIB FreeAslRequest,_AslBase
- .NoReq unlk a5
- .End2 rts
-
- NoTskScrModeGad cmp.w #GD_TagScrHeight,d7 ; Set new Screen Height for Task ?
- bne.s NoTskScrHeight
- move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d0
- beq.s .End
- tst.b tagscr_Monitor(a1)
- beq.s .End
- tst.b tagscr_LikeWB(a1)
- bne.s .End
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- rts
- .NoKey move.l gg_SpecialInfo(a2),a2
- move.l si_LongInt(a2),tagscr_Height(a1)
- .End rts
-
- NoTskScrHeight cmp.w #GD_TagScrWidth,d7 ; Set new Screen Width for Task ?
- bne.s NoTskScrWidth
- move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d0
- beq.s .End
- tst.b tagscr_Monitor(a1)
- beq.s .End
- tst.b tagscr_LikeWB(a1)
- bne.s .End
- tst.l d5
- bge.s .NoKey
- move.l d7,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB ActStringGad,_KCXBase
- rts
- .NoKey move.l gg_SpecialInfo(a2),a2
- move.l si_LongInt(a2),tagscr_Width(a1)
- .End rts
- NoTskScrWidth rts
- NoTagScrGadUp rts
- ScrModeTags dc.l ASLSM_Window,0
- dc.l ASLSM_PrivateIDCMP,1
- dc.l ASLSM_Locale,0
- dc.l ASLSM_TitleText,0
- OldTskScrMode dc.l ASLSM_InitialDisplayID,0
- dc.l TAG_DONE,0
- rtScrModeTags dc.l RT_Window,0
- dc.l RT_ShareIDCMP,0
- dc.l RTSC_Flags,0
- dc.l RT_Locale,0
- dc.l TAG_DONE
-
-
-
-
-
- **********************************************************************
- * Select a task name from the currently available tasks *
- * On Stack a pointer to the entry to be changed and *
- * the offset to the name field *
- **********************************************************************
- SelectTaskName CALLSYS Forbid
- lea TaskListBase(a4),a0 ; Initialize Tasklist
- NEWLIST a0
- move.l $4.w,a0
- moveq #0,d6
- lea TaskReady(a0),a3 ; Get list of ready tasks
- bsr .AddTasks
- move.l $4.w,a0
- moveq #0,d6
- lea TaskWait(a0),a3 ; Get list of waiting tasks
- bsr .AddTasks
- move.l $4.w,a0
- moveq #1,d6
- move.l ThisTask(a0),a3 ; Add this task
- bsr .AddTasks
- bsr OpenTaskWin ; Open the task-list window
- CALLSYS Permit
- .WaitTask move.l WindowPort(a4),a0 ; Wait for any messages on our port
- CALLSYS WaitPort
- .LoopTasks move.l WindowPort(a4),a0 ; Get Msg
- RELLIB GT_GetIMsg,_GadToolsBase
- tst.l d0
- beq.s .WaitTask
- move.l d0,a1
- move.l im_Class(a1),d6
- move.w im_Code(a1),d5
- move.l im_IDCMPWindow(a1),d7
- DOLIB GT_ReplyIMsg
- cmp.l TaskHandle(a4),d7
- bne.s .LoopTasks
- cmp.l #IDCMP_CLOSEWINDOW,d6
- beq.s .NoTask
- cmp.l #IDCMP_CHANGEWINDOW,d6
- bne.s .NoWindowMove
- move.l TaskHandle(a4),a0
- lea TaskWinLeft(a4),a1
- bsr StoreWinPos
- bra.s .LoopTasks
- .NoWindowMove cmp.l #IDCMP_GADGETUP,d6
- bne .LoopTasks
- lea TaskListBase(a4),a0 ; Get head of list
- .DoGet SUCC a0,a0
- sub.l a1,a1
- tst.w d5 ; Entry-Number < 0 ?
- blt.s .Done
- .Loop move.l a0,d0 ; Loop for address of entry
- beq.s .Done
- tst.w d5
- beq.s .GotIt
- move.l a0,d1
- beq.s .Done
- SUCC a0,a0
- subq.w #1,d5
- bra.s .Loop
- .GotIt move.l a0,a1
- .Done move.l a1,d0
- beq.s .NoTask
- move.l a1,a3 ; Store address of entry
- lea lw_Name(a3),a0 ; Copy name of entry
- move.l 4(sp),a1
- move.l 8(sp),d0
- lea 0(a1,d0),a1
- bsr StrCpy
- .NoTask bsr CloseTaskWin
- lea TaskListBase(a4),a0 ; Free list of tasks
- RELLIB FreeWindows,_KCXBase
- rts
- .AddTasks tst.l d6
- bne.s .LoopReady
- TSTLIST a3
- beq .NoMoreReady
- move.l LH_HEAD(a3),a3
- .LoopReady move.l #lw_SIZEOF,d0
- move.l #MEMF_CLEAR,d1
- CALLSYS AllocVec
- tst.l d0
- bne.s .GoOnReady
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bra.s .NoMoreReady
- .GoOnReady lea TaskListBase(a4),a0
- move.l d0,a2
- move.l d0,a1
- ADDTAIL
- moveq #-1,d7
- cmp.b #NT_PROCESS,LN_TYPE(a3)
- bne.s .IsTask
- tst.l pr_TaskNum(a3)
- beq.s .IsTask
- move.l pr_CLI(a3),d0
- beq.s .IsTask
- lsl.l #2,d0
- move.l d0,a0
- tst.l cli_Module(a0)
- beq.s .IsTask
- move.l cli_CommandName(a0),d0
- lsl.l #2,d0
- move.l d0,a0
- moveq #0,d7
- move.b (a0)+,d7
- bra.s .GoOnName
- .IsTask move.l LN_NAME(a3),a0
- .GoOnName lea lw_Name(a2),a1
- move.l a1,LN_NAME(a2)
- bsr StrNCpy
- tst.b d6
- bne.s .NoMoreReady
- move.l LN_SUCC(a3),a3
- tst.l (a3)
- beq.s .NoMoreReady
- bra .LoopReady
- .NoMoreReady rts
-
-
-
-
- **********************************************************************
- * Give visual feedback for button press *
- * D0 = Number of gadget *
- * A0 = Pointer to first gadget *
- * A5 = Pointer to window *
- **********************************************************************
- ButtonCheck movem.l RegsAll,-(sp)
- move.l a5,d1
- beq .End
- RELLIB GetGadgetPtr,_KCXBase
- move.l a0,a3
- move.l a0,a1
- or.w #GFLG_SELECTED,gg_Flags(a3)
- move.l a3,a0
- move.l a5,a1
- sub.l a2,a2
- moveq #1,d0
- RELLIB RefreshGList,_IntuitionBase
- move.l wd_IDCMPFlags(a5),d5
- move.l a5,a0
- move.l #IDCMP_RAWKEY,d0
- DOLIB ModifyIDCMP
- .WaitMsg move.l wd_UserPort(a5),a0
- CALLSYS WaitPort
- .LoopMsgs move.l wd_UserPort(a5),a0
- RELLIB GT_GetIMsg,_GadToolsBase
- tst.l d0
- beq.s .WaitMsg
- move.l d0,a1
- move.l im_Class(a1),d6
- move.w im_Code(a1),d7
- DOLIB GT_ReplyIMsg
- cmp.l #IDCMP_RAWKEY,d6
- bne.s .LoopMsgs
- and.w #IECODE_UP_PREFIX,d7
- beq.s .LoopMsgs
- move.l a5,a0
- move.l d5,d0
- RELLIB ModifyIDCMP,_IntuitionBase
- and.w #~GFLG_SELECTED,gg_Flags(a3)
- move.l a3,a0
- move.l a5,a1
- sub.l a2,a2
- moveq #1,d0
- DOLIB RefreshGList
- .End movem.l (sp)+,RegsAll
- rts
-
-
-
-
- **********************************************************************
- * Open our window. if not already open :-) *
- **********************************************************************
- OpenMainWin tst.l MainHandle(a4) ; Window already open ?
- beq.s .End
- move.l MainHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- tst.b WBFront(a4)
- beq.s .NoWB
- move.l MainHandle(a4),a0
- move.l wd_WScreen(a0),a0
- DOLIB ScreenToFront
- .NoWB rts
- .End link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea MainTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .MainWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,MainVisInfo(a4)
- beq .MainWinError
-
- tst.b WBFront(a4)
- beq.s .NoWBFront
- move.l -4(a5),a0
- RELLIB ScreenToFront,_IntuitionBase
-
- .NoWBFront move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w MainWinWidth(a4),d2
- move.w MainWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w MainWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w MainWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l MainGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .MainWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l MainWinGTags,a4
- .MainWinGL lea.l MainWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),d0
- move.l d0,-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l MainVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.w d0,gng_Height(a0)
- lea.l MainWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l (sp)+,a4
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .MainWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l MainGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .MainWinTL tst.l (a4)
- beq.s .MainWinDN
- addq.w #8,a4
- bra.s .MainWinTL
- .MainWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #MainWin_CNT,d3
- bmi .MainWinGL
- movem.l (sp)+,d2-d3/a4
- move.l MainGadget(a4),MainWinWG+4
-
- lea.l MainWinMenuDef,a2 ; Create menues
- .LocMenus tst.b gnm_Type(a2)
- beq.s .DoneMenus
- move.l gnm_Label(a2),d0
- cmp.l #NM_BARLABEL,d0
- beq.s .NoLocMenu
- move.l d0,-(sp)
- bsr GetLocStr
- move.l (sp)+,gnm_Label(a2)
- move.l gnm_CommKey(a2),-(sp)
- bsr GetLocStr
- move.l (sp)+,gnm_CommKey(a2)
- .NoLocMenu lea gnm_SIZEOF(a2),a2
- bra.s .LocMenus
-
- .DoneMenus lea MainWinMenuDef,a0
- sub.l a1,a1
- RELLIB CreateMenusA,_GadToolsBase
- move.l d0,MainMenu(a4)
- beq .MainWinError
- move.l d0,a0
- move.l MainVisInfo(a4),a1
- lea MainMenuTags,a2
- DOLIB LayoutMenusA
-
- LOCLEA DefControlTitle,a0
- lea ControlTitle(a4),a1
- bsr StrCpy
- lea PopUpKey(a4),a0
- lea ControlTitle(a4),a1
- bsr StrCat
- LOCLEA WindowScrTitle,MainWinWG+20
- move.l -4(a5),MainWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,MainWinL+4
- move.l d3,MainWinT+4
- move.l -4(a5),a0
- move.w MainWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,MainWinW+4
- move.w MainWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,MainWinH+4
- suba.l a0,a0
- lea.l MainWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,MainHandle(a4)
- beq.s .MainWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #MAINWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l MainHandle(a4),a0
- move.l MainMenu(a4),a1
- DOLIB SetMenuStrip
-
- move.l MainHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr UnlockScreen
- moveq #0,d0
- unlk a5
- rts
- .MainWinError bsr.s CloseMainWin
- bsr UnlockScreen
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- moveq #-1,d0
- unlk a5
- rts
-
-
- **********************************************************************
- * Close the main window with it`s menu *
- **********************************************************************
- CloseMainWin tst.l MainHandle(a4)
- beq.s .NoWin
- move.l MainHandle(a4),a0
- RELLIB ClearMenuStrip,_IntuitionBase
- lea MainHandle(a4),a3
- bsr CloseAWindow
- .NoWin tst.l MainMenu(a4) ; Free GadTools-Menus
- beq.s .NoMenu
- move.l MainMenu(a4),a0
- RELLIB FreeMenus,_GadToolsBase
- .NoMenu clr.l MainMenu(a4)
- move.w #1,AbortPrefs(a4)
- rts
-
-
-
-
-
- **********************************************************************
- * Localize a gadget`s shortcut *
- * A0 = Pointer to text *
- * RETURN : *
- * D1 = Shortcut *
- **********************************************************************
- LocalizeGadKey move.l d0,-(sp)
- moveq #0,d1
- move.l a0,d2
- beq.s .End
- .GetShort move.b (a0)+,d2
- beq.s .End
- cmp.b #'_',d2
- bne.s .GetShort
- moveq #0,d0
- move.b (a0),d0
- bsr GetUpperCase
- move.l d0,d1
- .End move.l (sp)+,d0
- rts
-
-
-
- **********************************************************************
- * Localizes tags of a ListView, Cycle and MX gadget *
- * D0 = Type of Gadget *
- * A2 = Pointer to TagList *
- **********************************************************************
- LocalizeGadTags movem.l RegsAll,-(sp)
- cmp.w #CYCLE_KIND,d0
- bne.s .NoCycle
- move.l #GTCY_Labels,d0
- move.l a2,a0
- RELLIB FindTagItem,_UtilityBase
- tst.l d0
- beq.s .End
- move.l d0,a2
- move.l ti_Data(a2),a2
- .PatchCycles move.l (a2),d0
- beq.s .End
- move.l d0,-(sp)
- bsr GetLocStr
- move.l (sp)+,(a2)
- addq.l #4,a2
- bra.s .PatchCycles
- .NoCycle cmp.w #LISTVIEW_KIND,d0
- bne.s .NoListView
- move.l #GTLV_Labels,d0
- move.l a2,a0
- RELLIB FindTagItem,_UtilityBase
- tst.l d0
- beq.s .End
- move.l d0,a2
- move.l ti_Data(a2),a2
- TSTLIST a2
- beq.s .End
- move.l MLH_HEAD(a2),a2
- .PatchListView tst.l (a2)
- beq.s .End
- move.l LN_NAME(a2),-(sp)
- bsr GetLocStr
- move.l (sp)+,LN_NAME(a2)
- SUCC a2,a2
- bra.s .PatchListView
- .NoListView cmp.w #TEXT_KIND,d0
- bne.s .End
- move.l #GTTX_Text,d0
- move.l a2,a0
- RELLIB FindTagItem,_UtilityBase
- tst.l d0
- beq.s .End
- move.l d0,a0
- move.l ti_Data(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,ti_Data(a0)
- .End movem.l (sp)+,RegsAll
- rts
-
-
-
-
-
- **********************************************************************
- * Open the settings window *
- **********************************************************************
- OpenSetWin tst.l SetHandle(a4)
- beq.s .GoOn
- move.l SetHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea SetTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .SetWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,SetVisInfo(a4)
- beq .SetWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w SetWinWidth(a4),d2
- move.w SetWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w SetWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w SetWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l SetGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .SetWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l SetWinGTags,a4
- .SetWinGL lea.l SetWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),d0
- move.l d0,-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l SetVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l SetWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .SetWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d0,a3
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l SetGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .SetWinTL tst.l (a4)
- beq.s .SetWinDN
- addq.w #8,a4
- bra.s .SetWinTL
- .SetWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #SetWin_CNT,d3
- bmi .SetWinGL
- movem.l (sp)+,d2-d3/a4
- move.l SetGadget(a4),SetWinWG+4
-
- LOCLEA SetTitle,SetWinWG+12
- LOCLEA WindowScrTitle,SetWinWG+20
- move.l -4(a5),SetWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,SetWinL+4
- move.l d3,SetWinT+4
- move.l -4(a5),a0
- move.w SetWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,SetWinW+4
- move.w SetWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,SetWinH+4
- suba.l a0,a0
- lea.l SetWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,SetHandle(a4)
- beq.s .SetWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #SETWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l SetHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr.s SetSetGads
- bsr UnlockScreen
- unlk a5
- rts
- .SetWinError bsr.s CloseSetWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
- **********************************************************************
- * Close the settings window *
- **********************************************************************
- CloseSetWin lea SetHandle(a4),a3
- bsr CloseAWindow
- rts
-
-
- **********************************************************************
- * Set the settings gadgets *
- **********************************************************************
- SetSetGads move.b SetEnv(a4),d0
- move.l #GD_WriteEnv,d1
- bsr.s SetSetBox
- move.b WBFront(a4),d0
- move.l #GD_WBFront,d1
- bsr.s SetSetBox
- move.b MapUmlaut(a4),d0
- move.l #GD_MapUmlauts,d1
- bsr.s SetSetBox
- move.b MMBShift(a4),d0 ; Set MMB Shift
- move.l #GD_MMBShift,d1
- bsr.s SetSetBox
- move.b DriveNoClick(a4),d0
- move.l #GD_NoClick,d1
- bsr.s SetSetBox
- move.b NoDisplayBeep(a4),d0
- move.l #GD_NoDisplayBeep,d1
- bsr.s SetSetBox
- move.b MenuWrap(a4),d0
- move.l #GD_MenuWrap,d1
- bsr.s SetSetBox
- move.b StringMenu(a4),d0
- move.l #GD_StringMenu,d1
- bsr.s SetSetBox
- move.b FlickerOff(a4),d0
- move.l #GD_AvoidFlicker,d1
- bsr.s SetSetBox
- rts
- SetSetBox lea SetGads(a4),a0
- move.l SetHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
-
-
- **********************************************************************
- * Open the miscellaneous window *
- **********************************************************************
- OpenMiscWin tst.l MiscHandle(a4)
- beq.s .GoOn
- move.l MiscHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea MiscTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .MiscWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,MiscVisInfo(a4)
- beq .MiscWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w MiscWinWidth(a4),d2
- move.w MiscWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w MiscWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w MiscWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l MiscGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .MiscWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l MiscWinGTags,a4
- .MiscWinGL lea.l MiscWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l MiscVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l MiscWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- bsr LocalizeGadTags
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .MiscWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d0,a3
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l MiscGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .MiscWinTL tst.l (a4)
- beq.s .MiscWinDN
- addq.w #8,a4
- bra.s .MiscWinTL
- .MiscWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #MiscWin_CNT,d3
- bmi .MiscWinGL
- movem.l (sp)+,d2-d3/a4
- move.l MiscGadget(a4),MiscWinWG+4
-
- lea MiscGads(a4),a0
- bsr SetStrIntGads
-
- LOCLEA MiscTitle,MiscWinWG+12
- LOCLEA WindowScrTitle,MiscWinWG+20
- move.l -4(a5),MiscWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,MiscWinL+4
- move.l d3,MiscWinT+4
- move.l -4(a5),a0
- move.w MiscWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,MiscWinW+4
- move.w MiscWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,MiscWinH+4
- suba.l a0,a0
- lea.l MiscWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,MiscHandle(a4)
- beq.s .MiscWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #MISCWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l MiscHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr.s SetMiscGads
- bsr UnlockScreen
- unlk a5
- rts
- .MiscWinError bsr CloseMiscWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
- **********************************************************************
- * Set other misc gads *
- **********************************************************************
- SetMiscGads move.b KeyClick(a4),d0 ; Set Click gadgets
- move.l #GD_KeyClick,d1
- bsr SetMiscBox
-
- move.l #GD_ClickVol,d0
- move.l ClickVol(a4),d1
- lea MiscGads(a4),a0
- move.l MiscHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
-
- move.b ESCClose(a4),d0 ; Set Exploding windows gads
- move.l #GD_ESCClose,d1
- bsr SetMiscBox
-
- move.l #RESCKEY,d0
- move.w ESCQual(a4),d1
- move.l #GD_ESCQualTxt,d2
- lea MiscGads(a4),a0
- move.l MiscHandle(a4),a1
- lea EscQualStr(a4),a2
- bsr DisplayHotKey
-
- move.b FullDrag(a4),d0 ; Front drag settings
- move.l #GD_FullDrag,d1
- bsr SetMiscBox
-
- move.l #IECODE_LBUTTON,d0
- move.w FullDragQual(a4),d1
- move.l #GD_DragQualTxt,d2
- lea MiscGads(a4),a0
- move.l MiscHandle(a4),a1
- lea DragQualStr(a4),a2
- bsr DisplayHotKey
-
- move.b AltModeOn(a4),d0
- move.l #GD_AltMode,d1
- bsr SetMiscBox
-
- move.l #GD_AltQual,d0
- move.w AltQual(a4),d1
- DOLIB SetCycleGad
-
- bsr.s SetWindowsGads
- rts
-
-
-
- **********************************************************************
- * Set gads and menues for ExpWindows *
- **********************************************************************
- SetWindowsGads move.l #GD_ExpFrames,d0
- move.l ExpFrames(a4),d1
- bsr SetMiscSlids
-
- move.l #GD_ImpFrames,d0
- move.l ImpFrames(a4),d1
- bsr SetMiscSlids
-
- move.l #GD_SizeFrames,d0
- move.l SizeFrames(a4),d1
- bsr.s SetMiscSlids
-
- move.l #GD_MoveFrames,d0
- move.l MoveFrames(a4),d1
- bsr.s SetMiscSlids
-
- move.l #GD_ExpFrames,d0 ; On/Off frames gadgets
- moveq #0,d1
- move.b ExpWindows(a4),d1
- bchg #0,d1
- DOLIB GhostGadget
-
- move.l #GD_ImpFrames,d0
- DOLIB GhostGadget
-
- move.l #GD_SizeFrames,d0
- DOLIB GhostGadget
-
- move.l #GD_MoveFrames,d0
- DOLIB GhostGadget
-
- move.l #GD_MouseCtr,d0
- DOLIB GhostGadget
-
- move.b ExpWindows(a4),d0
- move.l #GD_ExpWindows,d1
- bsr.s SetMiscBox
-
- move.b MouseCenter(a4),d0
- move.l #GD_MouseCtr,d1
- bsr.s SetMiscBox
- rts
- SetMiscBox lea MiscGads(a4),a0
- move.l MiscHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
- SetMiscSlids lea MiscGads(a4),a0
- move.l MiscHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
- rts
-
-
- **********************************************************************
- * Close the miscellaneous window *
- **********************************************************************
- CloseMiscWin lea MiscHandle(a4),a3
- bra CloseAWindow
-
-
- **********************************************************************
- * Open the alarm window *
- **********************************************************************
- OpenAlarmWin tst.l AlarmHandle(a4)
- beq.s .GoOn
- move.l AlarmHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea AlarmTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .AlarmWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,AlarmVisInfo(a4)
- beq .AlarmWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w AlarmWinWidth(a4),d2
- move.w AlarmWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w AlarmWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w AlarmWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l AlarmGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .AlarmWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l AlarmWinGTags,a4
- .AlarmWinGL lea.l AlarmWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l AlarmVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l AlarmWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- bsr LocalizeGadTags
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .AlarmWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d0,a3
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l AlarmGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .AlarmWinTL tst.l (a4)
- beq.s .AlarmWinDN
- addq.w #8,a4
- bra.s .AlarmWinTL
- .AlarmWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #AlarmWin_CNT,d3
- bmi .AlarmWinGL
- movem.l (sp)+,d2-d3/a4
- move.l AlarmGadget(a4),AlarmWinWG+4
-
- LOCLEA AlarmTitle,AlarmWinWG+12
- LOCLEA WindowScrTitle,AlarmWinWG+20
- move.l -4(a5),AlarmWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,AlarmWinL+4
- move.l d3,AlarmWinT+4
- move.l -4(a5),a0
- move.w AlarmWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,AlarmWinW+4
- move.w AlarmWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,AlarmWinH+4
- suba.l a0,a0
- lea.l AlarmWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,AlarmHandle(a4)
- beq.s .AlarmWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #ALARMWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l AlarmHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr.s SetAlarmGads
- bsr UnlockScreen
- unlk a5
- rts
- .AlarmWinError bsr CloseAlarmWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
- **********************************************************************
- * Set gadgets within alarm window *
- **********************************************************************
- SetAlarmGads move.b DoAlarm(a4),d0
- move.l #GD_AlarmOn,d1
- bsr SetAlarmBox
-
- move.b EveryHour(a4),d0
- move.l #GD_AllHours,d1
- bsr.s SetAlarmBox
-
- move.b DoShowAlarm(a4),d0
- move.l #GD_ShowAlarm,d1
- bsr.s SetAlarmBox
-
- move.l #GD_AlarmTime,d0
- move.l AlarmTime(a4),d1
- lea AlarmGads(a4),a0
- move.l AlarmHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
-
- move.l #GD_AlSoundType,d0
- moveq #0,d1
- move.b AlarmSample(a4),d1
- lea AlarmGads(a4),a0
- move.l AlarmHandle(a4),a1
- RELLIB SetCycleGad,_KCXBase
-
- move.l #GD_AlarmSample,d0
- bchg #0,d1
- RELLIB GhostGadget,_KCXBase
-
- move.l #GD_TestSample,d0
- RELLIB GhostGadget,_KCXBase
-
- move.l #GD_SampleName,d0
- lea AlarmGads(a4),a0
- move.l AlarmHandle(a4),a1
- lea AlSampleName(a4),a2
- RELLIB SetTextGad,_KCXBase
- rts
- SetAlarmBox lea AlarmGads(a4),a0
- move.l AlarmHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
-
- **********************************************************************
- * Close alarm window *
- **********************************************************************
- CloseAlarmWin lea AlarmHandle(a4),a3
- bra CloseAWindow
-
-
-
- **********************************************************************
- * Open the cycle settings window *
- **********************************************************************
- OpenCycleWin tst.l CycleHandle(a4)
- beq.s .GoOn
- move.l CycleHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea CycleTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .CycleWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,CycleVisInfo(a4)
- beq .CycleWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w CycleWinWidth(a4),d2
- move.w CycleWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w CycleWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w CycleWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l CycleGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .CycleWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l CycleWinGTags,a4
- .CycleWinGL lea.l CycleWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l CycleVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l CycleWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .CycleWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l CycleGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .CycleWinTL tst.l (a4)
- beq.s .CycleWinDN
- addq.w #8,a4
- bra.s .CycleWinTL
- .CycleWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #CycleWin_CNT,d3
- bmi .CycleWinGL
- movem.l (sp)+,d2-d3/a4
- move.l CycleGadget(a4),CycleWinWG+4
-
- LOCLEA CycleTitle,CycleWinWG+12
- LOCLEA WindowScrTitle,CycleWinWG+20
- move.l -4(a5),CycleWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,CycleWinL+4
- move.l d3,CycleWinT+4
- move.l -4(a5),a0
- move.w CycleWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,CycleWinW+4
- move.w CycleWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,CycleWinH+4
- suba.l a0,a0
- lea.l CycleWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,CycleHandle(a4)
- beq.s .CycleWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #CYCLEWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l CycleHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr.s SetCycleGads
- bsr UnlockScreen
- unlk a5
- rts
- .CycleWinError bsr CloseCycleWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
- **********************************************************************
- * Set all cycle gadgets *
- **********************************************************************
- SetCycleGads bsr.s SetCycleSlids
- bsr.s SetCycleQuals
- move.b CycleWin(a4),d0
- move.l #GD_CycleOn,d1
- lea CycleGads(a4),a0
- move.l CycleHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- tst.b CycleWin(a4)
- bne.s .GoOn
- moveq #1,d1
- move.l #GD_FrontClick,d0
- DOLIB GhostGadget
- move.l #GD_BackClick,d0
- DOLIB GhostGadget
- move.l #GD_MiddleClick,d0
- DOLIB GhostGadget
- .GoOn rts
- **********************************************************************
- * Set sliders of cycle window *
- **********************************************************************
- SetCycleSlids moveq #0,d1
-
- move.l #GD_FrontClick,d0
- move.w FrontClicks(a4),d1
- bsr.s SetCycleSlider
-
- move.l #GD_MiddleClick,d0
- move.w MiddleClicks(a4),d1
- bsr.s SetCycleSlider
-
- move.l #GD_BackClick,d0
- move.w BackClicks(a4),d1
- bsr.s SetCycleSlider
- rts
- SetCycleSlider lea CycleGads(a4),a0
- move.l CycleHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
- rts
- **********************************************************************
- * Display all cycling qualifiers *
- **********************************************************************
- SetCycleQuals move.w FrontCode(a4),d0
- move.w FrontQual(a4),d1
- move.l #GD_FrontQual,d2
- lea FrontQualStr(a4),a2
- bsr.s SetCycleText
-
- move.w #IECODE_MBUTTON,d0
- move.w MiddleQual(a4),d1
- move.l #GD_MiddleQual,d2
- lea MiddleQualStr(a4),a2
- bsr.s SetCycleText
-
- move.w BackCode(a4),d0
- move.w BackQual(a4),d1
- move.l #GD_BackQual,d2
- lea BackQualStr(a4),a2
- bsr.s SetCycleText
- rts
- SetCycleText lea CycleGads(a4),a0
- move.l CycleHandle(a4),a1
- bra DisplayHotKey
-
-
-
- **********************************************************************
- * Close Cycle window again *
- **********************************************************************
- CloseCycleWin lea CycleHandle(a4),a3
- bra CloseAWindow
-
-
-
-
- **********************************************************************
- * Open Blanking window *
- **********************************************************************
- OpenBlankWin tst.l BlankHandle(a4)
- beq.s .GoOn
- move.l BlankHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea BlankTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .BlankWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,BlankVisInfo(a4)
- beq .BlankWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w BlankWinWidth(a4),d2
- move.w BlankWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w BlankWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w BlankWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l BlankGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .BlankWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l BlankWinGTags,a4
- .BlankWinGL lea.l BlankWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l BlankVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l BlankWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- bsr LocalizeGadTags
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .BlankWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l BlankGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .BlankWinTL tst.l (a4)
- beq.s .BlankWinDN
- addq.w #8,a4
- bra.s .BlankWinTL
- .BlankWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #BlankWin_CNT,d3
- bmi .BlankWinGL
- movem.l (sp)+,d2-d3/a4
- move.l BlankGadget(a4),BlankWinWG+4
-
- LOCLEA BlankTitle,BlankWinWG+12
- LOCLEA WindowScrTitle,BlankWinWG+20
- move.l -4(a5),BlankWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,BlankWinL+4
- move.l d3,BlankWinT+4
- move.l -4(a5),a0
- move.w BlankWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,BlankWinW+4
- move.w BlankWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,BlankWinH+4
- suba.l a0,a0
- lea.l BlankWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,BlankHandle(a4)
- beq.s .BlankWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #BLANKWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l BlankHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr.s SetBlankGads
- bsr UnlockScreen
- unlk a5
- rts
- .BlankWinError bsr CloseBlankWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
- **********************************************************************
- * Set all gadgets within blank window *
- **********************************************************************
- SetBlankGads move.b MouseEver(a4),d0
- move.l #GD_BlankMouse,d1
- lea BlankGads(a4),a0
- move.l BlankHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
-
- move.l #GD_ScrTime,d0
- move.l ScreenTime(a4),d1
- bsr.s SetBlankSlid
-
- move.l #GD_MouseTime,d0
- move.l MouseTime(a4),d1
- bsr.s SetBlankSlid
-
- move.l #GD_DimmFac,d0
- move.l DimmValue(a4),d1
- bsr.s SetBlankSlid
-
- move.l #GD_BlankType,d0
- moveq #0,d1
- move.b ScreenDimm(a4),d1
- lea BlankGads(a4),a0
- move.l BlankHandle(a4),a1
- RELLIB SetCycleGad,_KCXBase
-
- move.l #GD_DimmFac,d0
- moveq #0,d1
- move.b ScreenDimm(a4),d1
- bchg #0,d1
- lea BlankGads(a4),a0
- move.l BlankHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- rts
- SetBlankSlid lea BlankGads(a4),a0
- move.l BlankHandle(a4),a1
- RELLIB SetSliderGad,_KCXBase
- rts
-
- **********************************************************************
- * Close the blanking window *
- **********************************************************************
- CloseBlankWin lea BlankHandle(a4),a3
- bra CloseAWindow
-
-
-
- **********************************************************************
- * Open Clock Def windows *
- **********************************************************************
- OpenClockDefWin tst.l ClockDefHandle(a4)
- beq.s .GoOn
- move.l ClockDefHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea ClockDefTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .ClockDefWinError
- move.l d0,a0
- move.l sc_RastPort+rp_BitMap(a0),a0
- moveq #0,d7
- move.b bm_Depth(a0),d7
- cmp.w #4,d7
- ble.s .NormalCols
- moveq #4,d7
- .NormalCols move.l d7,ScrDepth1+4
- move.l d7,ScrDepth2+4
- move.l d7,ScrDepth3+4
- move.l d7,ScrDepth4+4
-
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,ClockDefVisInfo(a4)
- beq .ClockDefWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w ClockDefWinWidth(a4),d2
- move.w ClockDefWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w ClockDefWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w ClockDefWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l ClockDefGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .ClockDefWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l ClockDefWinGTags,a4
- .ClockDefWinGL lea.l ClockDefWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l ClockDefVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l ClockDefWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- bsr LocalizeGadTags
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .ClockDefWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l ClockDefGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .ClockDefWinTL tst.l (a4)
- beq.s .ClockDefWinDN
- addq.w #8,a4
- bra.s .ClockDefWinTL
- .ClockDefWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #ClockDefWin_CNT,d3
- bmi .ClockDefWinGL
- movem.l (sp)+,d2-d3/a4
- move.l ClockDefGadget(a4),ClockDefWinWG+4
-
- LOCLEA ClockDefWinWTitle,ClockDefWinWG+12
- LOCLEA WindowScrTitle,ClockDefWinWG+20
- move.l -4(a5),ClockDefWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,ClockDefWinL+4
- move.l d3,ClockDefWinT+4
- move.l -4(a5),a0
- move.w ClockDefWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,ClockDefWinW+4
- move.w ClockDefWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,ClockDefWinH+4
- suba.l a0,a0
- lea.l ClockDefWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,ClockDefHandle(a4)
- beq.s .ClockDefWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #CLOCKDEFWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- bsr.s SetClockDefGads
-
- move.l ClockDefHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr UnlockScreen
- unlk a5
- rts
- .ClockDefWinError
- bsr CloseClockDefWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
- **********************************************************************
- * Set Clock Def gadgets *
- **********************************************************************
- SetClockDefGads move.b ShowClock(a4),d0
- move.l #GD_Display,d1
- bsr SetClockDefBox
- move.b DoShowTime(a4),d0
- move.l #GD_ShowTime,d1
- bsr SetClockDefBox
- move.b ClockWin(a4),d0
- move.l #GD_DisplayWin,d1
- bsr SetClockDefBox
- move.b ShowDate(a4),d0
- move.l #GD_ShowDate,d1
- bsr SetClockDefBox
- move.b ShowDay(a4),d0
- move.l #GD_ShowDay,d1
- bsr SetClockDefBox
- move.b ShowSecs(a4),d0
- move.l #GD_ShowSecs,d1
- bsr.s SetClockDefBox
- move.b ShortDay(a4),d0
- move.l #GD_ShortDay,d1
- bsr.s SetClockDefBox
-
- move.l #GD_DateFormat,d0
- move.w DateFormat(a4),d1
- DOLIB SetCycleGad
-
- move.l #GD_GaugeWidth,d0
- move.l MaxBarLen(a4),d1
- DOLIB SetSliderGad
-
- move.b ShowMouse(a4),d0
- move.l #GD_ShowMouse,d1
- bsr.s SetClockDefBox
- move.l #GD_TFrontPen,d0
- move.l TextFrontPen(a4),d1
- bsr.s SetClockDefPal
- move.l #GD_TBackPen,d0
- move.l TextBackPen(a4),d1
- bsr.s SetClockDefPal
- move.l #GD_GFrontPen,d0
- move.l GaugeFrontPen(a4),d1
- bsr.s SetClockDefPal
- move.l #GD_GBackPen,d0
- move.l GaugeBackPen(a4),d1
- bsr.s SetClockDefPal
- rts
- SetClockDefPal lea ClockDefGads(a4),a0
- move.l ClockDefHandle(a4),a1
- RELLIB SetPaletteGad,_KCXBase
- rts
- SetClockDefBox lea ClockDefGads(a4),a0
- move.l ClockDefHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
-
-
- **********************************************************************
- * Close the Clock Def window *
- **********************************************************************
- CloseClockDefWin
- CALLSYS Forbid
- lea ClockDefHandle(a4),a3
- bsr CloseAWindow
- CALLSYS Permit
- rts
-
-
- **********************************************************************
- * Open mouse window *
- **********************************************************************
- OpenMouseWin tst.l MouseHandle(a4)
- beq.s .GoOn
- move.l MouseHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea MouseTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .MouseWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,MouseVisInfo(a4)
- beq .MouseWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w MouseWinWidth(a4),d2
- move.w MouseWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w MouseWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w MouseWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l MouseGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .MouseWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l MouseWinGTags,a4
- .MouseWinGL lea.l MouseWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l MouseVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l MouseWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .MouseWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l MouseGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .MouseWinTL tst.l (a4)
- beq.s .MouseWinDN
- addq.w #8,a4
- bra.s .MouseWinTL
- .MouseWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #MouseWin_CNT,d3
- bmi .MouseWinGL
- movem.l (sp)+,d2-d3/a4
- move.l MouseGadget(a4),MouseWinWG+4
-
- LOCLEA MouseTitle,MouseWinWG+12
- LOCLEA WindowScrTitle,MouseWinWG+20
- move.l -4(a5),MouseWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,MouseWinL+4
- move.l d3,MouseWinT+4
- move.l -4(a5),a0
- move.w MouseWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,MouseWinW+4
- move.w MouseWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,MouseWinH+4
- suba.l a0,a0
- lea.l MouseWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,MouseHandle(a4)
- beq.s .MouseWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #MOUSEWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l MouseHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr.s SetMouseGads
- bsr UnlockScreen
- unlk a5
- rts
- .MouseWinError bsr CloseMouseWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
- **********************************************************************
- * Set mouse gadgets *
- **********************************************************************
- SetMouseGads move.b DoActivate(a4),d0
- move.l #GD_WindowAct,d1
- bsr SetMouseBox
-
- move.b SunMouse(a4),d0
- move.l #GD_SunMouse,d1
- bsr SetMouseBox
-
- move.b MouseAccel(a4),d0
- move.l #GD_MouseAccel,d1
- bsr SetMouseBox
-
- move.l #GD_Accelerate,d0
- move.l Accelerate(a4),d1
- RELLIB SetSliderGad,_KCXBase
-
- move.l #GD_Threshold,d0
- move.l ThresHold(a4),d1
- RELLIB SetSliderGad,_KCXBase
-
- move.l #GD_Accelerate,d0
- moveq #0,d1
- move.b MouseAccel(a4),d1
- bchg #0,d1
- RELLIB GhostGadget,_KCXBase
-
- move.l #GD_Threshold,d0
- RELLIB GhostGadget,_KCXBase
-
- moveq #0,d0
- move.w HoldXQual(a4),d1
- move.l #GD_HoldX,d2
- lea HoldXQualStr(a4),a2
- bsr DisplayHotKey
-
- move.w HoldYQual(a4),d1
- move.l #GD_HoldY,d2
- lea HoldYQualStr(a4),a2
- bsr DisplayHotKey
-
- move.b HoldMouse(a4),d0
- move.l #GD_HoldMouse,d1
- bsr.s SetMouseBox
-
- move.b LeftyMouse(a4),d0
- move.l #GD_Lefty,d1
- bsr.s SetMouseBox
-
- move.b WindowReAct(a4),d0
- move.l #GD_WinReAct,d1
- bsr.s SetMouseBox
-
- rts
- SetMouseBox lea MouseGads(a4),a0
- move.l MouseHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
-
- **********************************************************************
- * Close mouse window *
- **********************************************************************
- CloseMouseWin lea MouseHandle(a4),a3
- bra CloseAWindow
-
-
-
- **********************************************************************
- * Open HotKey window *
- **********************************************************************
- OpenHotKeyWin tst.l HotKeyHandle(a4)
- beq.s .GoOn
- move.l HotKeyHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea HotKeyTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .HotKeyWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,HotKeyVisInfo(a4)
- beq .HotKeyWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w HotKeyWinWidth(a4),d2
- move.w HotKeyWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w HotKeyWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w HotKeyWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l HotKeyGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .HotKeyWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l HotKeyWinGTags,a4
- .HotKeyWinGL lea.l HotKeyWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l HotKeyVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l HotKeyWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- bsr LocalizeGadTags
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .HotKeyWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l HotKeyGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .HotKeyWinTL tst.l (a4)
- beq.s .HotKeyWinDN
- addq.w #8,a4
- bra.s .HotKeyWinTL
- .HotKeyWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #HotKeyWin_CNT,d3
- bmi .HotKeyWinGL
- movem.l (sp)+,d2-d3/a4
- move.l HotKeyGadget(a4),HotKeyWinWG+4
-
- lea HotKeyGads(a4),a0
- bsr SetStrIntGads
-
- LOCLEA HotKeyTitle,HotKeyWinWG+12
- LOCLEA WindowScrTitle,HotKeyWinWG+20
- move.l -4(a5),HotKeyWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,HotKeyWinL+4
- move.l d3,HotKeyWinT+4
- move.l -4(a5),a0
- move.w HotKeyWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,HotKeyWinW+4
- move.w HotKeyWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,HotKeyWinH+4
- suba.l a0,a0
- lea.l HotKeyWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,HotKeyHandle(a4)
- beq.s .HotKeyWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #HOTKEYWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l #-1,HotKeyChange(a4)
-
- move.l HotKeyHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- move.l #-1,HotKeyChange(a4)
-
- bsr UnlockScreen
- unlk a5
- rts
- .HotKeyWinError bsr.s CloseHotKeyWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
- **********************************************************************
- * Close HotKey window *
- **********************************************************************
- CloseHotKeyWin lea HotKeyHandle(a4),a3
- bra CloseAWindow
-
-
-
-
- **********************************************************************
- * Open the FKeys-window *
- **********************************************************************
- OpenFKeyWin tst.l FKeyHandle(a4)
- beq.s .GoOn
- move.l FKeyHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea FKeyTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .FKeyWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,FKeyVisInfo(a4)
- beq .FKeyWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w FKeyWinWidth(a4),d2
- move.w FKeyWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w FKeyWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w FKeyWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l FKeyGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .FKeyWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l FKeyWinGTags,a4
- .FKeyWinGL lea.l FKeyWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l FKeyVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l FKeyWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- bsr LocalizeGadTags
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .FKeyWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l FKeyGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .FKeyWinTL tst.l (a4)
- beq.s .FKeyWinDN
- addq.w #8,a4
- bra.s .FKeyWinTL
- .FKeyWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #FKeyWin_CNT,d3
- bmi .FKeyWinGL
- movem.l (sp)+,d2-d3/a4
- move.l FKeyGadget(a4),FKeyWinWG+4
-
- lea FKeyGads(a4),a0
- bsr SetStrIntGads
-
- LOCLEA FKeyTitle,FKeyWinWG+12
- LOCLEA WindowScrTitle,FKeyWinWG+20
- move.l -4(a5),FKeyWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,FKeyWinL+4
- move.l d3,FKeyWinT+4
- move.l -4(a5),a0
- move.w FKeyWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,FKeyWinW+4
- move.w FKeyWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,FKeyWinH+4
- suba.l a0,a0
- lea.l FKeyWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,FKeyHandle(a4)
- beq.s .FKeyWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #FKEYWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- lea FKeys(a4),a2 ; Copy FKeys
- lea FKeysNew(a4),a3
- move.w #((MAXFKEYWIDTH+2)*40)-1,d7
- .Loop move.b (a2)+,(a3)+
- dbf d7,.Loop
-
- move.l FKeyHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr.s SetFKeyGads
- bsr UnlockScreen
- unlk a5
- move.l FKeyHandle(a4),a0
- RELLIB ActivateWindow,_IntuitionBase
- rts
- .FKeyWinError bsr.s CloseFKeyWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
- **********************************************************************
- * Set gadgets of FKeys window *
- **********************************************************************
- SetFKeyGads move.l FKeyQual(a4),d0
- mulu #(MAXFKEYWIDTH+2)*10,d0 ; Display new list
- lea FKeysNew(a4),a2
- lea 0(a2,d0),a2
- move.l #GD_F1,d0
- moveq #9,d6
- lea FKeyGads(a4),a0
- move.l FKeyHandle(a4),a1
- .Loop RELLIB SetStringGad,_KCXBase
- lea (MAXFKEYWIDTH+2)(a2),a2
- addq.l #1,d0
- dbf d6,.Loop
-
- move.l #GD_FKeyQual,d0 ; Set cycle gadget
- move.l FKeyQual(a4),d1
- lea FKeyGads(a4),a0
- move.l FKeyHandle(a4),a1
- RELLIB SetCycleGad,_KCXBase
-
- move.b FKeysOn(a4),d0 ; Set checkbox gadget
- move.l #GD_FKeyAct,d1
- lea FKeyGads(a4),a0
- move.l FKeyHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
-
-
-
- **********************************************************************
- * Close FKeys window *
- **********************************************************************
- CloseFKeyWin lea FKeyHandle(a4),a3
- bra CloseAWindow
-
-
-
-
- **********************************************************************
- * Open Preferences window *
- **********************************************************************
- OpenPrefsWin tst.l PrefsHandle(a4)
- beq.s .GoOn
- move.l PrefsHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea PrefsTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .PrefsWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,PrefsVisInfo(a4)
- beq .PrefsWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w PrefsWinWidth(a4),d2
- move.w PrefsWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w PrefsWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w PrefsWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l PrefsGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .PrefsWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l PrefsWinGTags,a4
- .PrefsWinGL lea.l PrefsWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l PrefsVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l PrefsWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- bsr LocalizeGadTags
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .PrefsWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l PrefsGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .PrefsWinTL tst.l (a4)
- beq.s .PrefsWinDN
- addq.w #8,a4
- bra.s .PrefsWinTL
- .PrefsWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #PrefsWin_CNT,d3
- bmi .PrefsWinGL
- movem.l (sp)+,d2-d3/a4
- move.l PrefsGadget(a4),PrefsWinWG+4
-
- lea PrefsGads(a4),a0
- bsr SetStrIntGads
-
- LOCLEA PrefsTitle,PrefsWinWG+12
- LOCLEA WindowScrTitle,PrefsWinWG+20
- move.l -4(a5),PrefsWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,PrefsWinL+4
- move.l d3,PrefsWinT+4
- move.l -4(a5),a0
- move.w PrefsWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,PrefsWinW+4
- move.w PrefsWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,PrefsWinH+4
- suba.l a0,a0
- lea.l PrefsWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,PrefsHandle(a4)
- beq.s .PrefsWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #PREFSWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l PrefsHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr.s SetPrefsGads
- bsr UnlockScreen
- unlk a5
- rts
- .PrefsWinError bsr ClosePrefsWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
- **********************************************************************
- * Set Preferences gadgets *
- **********************************************************************
- SetPrefsGads lea CostUnit1(a4),a3 ; Remake these 6 cost gadgets
- moveq #GD_Normal1,d7
- moveq #5,d6
- .RemakeCosts move.l d7,d0
- move.l (a3)+,d1
- addq.l #1,d7
- bsr SetPrefsInteger
- dbf d6,.RemakeCosts
-
- move.l #GD_CostUnit,d0 ; Remake cost/unit gad
- move.l CostUnit(a4),d1
- bsr.s SetPrefsInteger
-
- move.l #GD_LogName,d0 ; Remake Log-FileName
- lea LogFileName(a4),a2
- RELLIB SetStringGad,_KCXBase
-
- move.l #GD_OpenBill,d0 ; Remake Public Screen Name
- lea PubScreenName(a4),a2
- RELLIB SetStringGad,_KCXBase
-
- move.l #GD_StartNorm,d0
- move.l CheapStop(a4),d1
- RELLIB SetSliderGad,_KCXBase
-
- move.l #GD_StartCheap,d0
- move.l CheapStart(a4),d1
- RELLIB SetSliderGad,_KCXBase
-
- moveq #0,d0
- move.b BillPopUp(a4),d0
- move.l #GD_PopUpBill,d1
- bsr.s SetPrefsBox
-
- moveq #0,d0
- move.b ActiveBill(a4),d0
- move.l #GD_ActiveBill,d1
- bsr.s SetPrefsBox
-
- lea Sunday(a4),a3
- moveq #6,d7
- move.l #GD_Sunday,d1
- .Loop move.b (a3)+,d0
- bsr.s SetPrefsBox
- addq.l #1,d1
- dbf d7,.Loop
- rts
- SetPrefsInteger lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a1
- RELLIB SetIntegerGad,_KCXBase
- rts
- SetPrefsBox lea PrefsGads(a4),a0
- move.l PrefsHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
-
-
- **********************************************************************
- * Close Preferences window *
- **********************************************************************
- ClosePrefsWin lea PrefsHandle(a4),a3
- bra CloseAWindow
-
-
-
-
- **********************************************************************
- * Open Preferences window *
- **********************************************************************
- OpenLockWin tst.l LockHandle(a4)
- beq.s .GoOn
- move.l LockHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn lea WindowBase(a4),a0
- move.l a0,WindowListList+4
- clr.b LockListType(a4)
- move.w NumWindows(a4),NumLockEntries(a4)
-
- link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea LockTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .LockWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,LockVisInfo(a4)
- beq .LockWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w LockWinWidth(a4),d2
- move.w LockWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w LockWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w LockWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l LockGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .LockWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l LockWinGTags,a4
- .LockWinGL lea.l LockWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l LockVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l LockWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- bsr LocalizeGadTags
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .LockWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- cmp.w #GD_WindowName,d3
- bne.s .NoName
- move.l d0,WindowListGad+4
- .NoName move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l LockGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .LockWinTL tst.l (a4)
- beq.s .LockWinDN
- addq.w #8,a4
- bra.s .LockWinTL
- .LockWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #LockWin_CNT,d3
- bmi .LockWinGL
- movem.l (sp)+,d2-d3/a4
- move.l LockGadget(a4),LockWinWG+4
-
- lea LockGads(a4),a0
- bsr SetStrIntGads
-
- LOCLEA LockTitle,LockWinWG+12
- LOCLEA WindowScrTitle,LockWinWG+20
- move.l -4(a5),LockWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,LockWinL+4
- move.l d3,LockWinT+4
- move.l -4(a5),a0
- move.w LockWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,LockWinW+4
- move.w LockWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,LockWinH+4
- suba.l a0,a0
- lea.l LockWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,LockHandle(a4)
- beq.s .LockWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #LOCKWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l LockHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- move.w #-1,SelWindow(a4)
-
- bsr UnlockScreen
- unlk a5
- rts
- .LockWinError bsr.s CloseLockWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
-
- **********************************************************************
- * Close Preferences window *
- **********************************************************************
- CloseLockWin lea LockHandle(a4),a3
- bra CloseAWindow
-
-
-
-
- **********************************************************************
- * Open Preferences window *
- **********************************************************************
- OpenTaskWin tst.l TaskHandle(a4)
- beq.s .GoOn
- move.l TaskHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea TaskTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .TaskWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,TaskVisInfo(a4)
- beq .TaskWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w TaskWinWidth(a4),d2
- move.w TaskWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w TaskWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w TaskWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l TaskGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .TaskWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l TaskWinGTags,a4
- .TaskWinGL lea.l TaskWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l TaskVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l TaskWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .TaskWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- cmp.w #GD_WindowName,d3
- bne.s .NoName
- move.l d0,WindowListGad+4
- .NoName move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l TaskGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .TaskWinTL tst.l (a4)
- beq.s .TaskWinDN
- addq.w #8,a4
- bra.s .TaskWinTL
- .TaskWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #TaskWin_CNT,d3
- bmi .TaskWinGL
- movem.l (sp)+,d2-d3/a4
- move.l TaskGadget(a4),TaskWinWG+4
-
- LOCLEA TaskWinWTitle,TaskWinWG+12
- LOCLEA WindowScrTitle,TaskWinWG+20
- move.l -4(a5),TaskWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,TaskWinL+4
- move.l d3,TaskWinT+4
- move.l -4(a5),a0
- move.w TaskWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,TaskWinW+4
- move.w TaskWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,TaskWinH+4
- suba.l a0,a0
- lea.l TaskWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,TaskHandle(a4)
- beq.s .TaskWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #TASKWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l TaskHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr UnlockScreen
- unlk a5
- rts
- .TaskWinError bsr.s CloseTaskWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
-
- **********************************************************************
- * Close Preferences window *
- **********************************************************************
- CloseTaskWin lea TaskHandle(a4),a3
- bra CloseAWindow
-
-
-
-
- **********************************************************************
- * Open Preferences window *
- **********************************************************************
- OpenTagScrWin tst.l TagScrHandle(a4)
- beq.s .GoOn
- move.l TagScrHandle(a4),a0
- RELLIB WindowToFront,_IntuitionBase
- rts
- .GoOn lea TagScrsTasks(a4),a0
- move.l a0,TagScrTaskList+4
-
- link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea TagScrTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .TagScrWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,TagScrVisInfo(a4)
- beq .TagScrWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w TagScrWinWidth(a4),d2
- move.w TagScrWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w TagScrWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w TagScrWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l TagScrGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .TagScrWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l TagScrWinGTags,a4
- .TagScrWinGL lea.l TagScrWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l TagScrVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l TagScrWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .TagScrWinError
- move.l d0,a3
- move.l d7,a0
- bsr LocalizeGadKey
- move.l d1,gg_UserData(a3)
- cmp.w #GD_TagTaskName,d3
- bne.s .NoName
- move.l d0,TagScrTaskName+4
- .NoName move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l TagScrGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .TagScrWinTL tst.l (a4)
- beq.s .TagScrWinDN
- addq.w #8,a4
- bra.s .TagScrWinTL
- .TagScrWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #TagScrWin_CNT,d3
- bmi .TagScrWinGL
- movem.l (sp)+,d2-d3/a4
- move.l TagScrGadget(a4),TagScrWinWG+4
-
- lea TagScrGads(a4),a0
- bsr SetStrIntGads
-
- LOCLEA TagScrWinWTitle,TagScrWinWG+12
- LOCLEA WindowScrTitle,TagScrWinWG+20
- move.l -4(a5),TagScrWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,TagScrWinL+4
- move.l d3,TagScrWinT+4
- move.l -4(a5),a0
- move.w TagScrWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,TagScrWinW+4
- move.w TagScrWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,TagScrWinH+4
- suba.l a0,a0
- lea.l TagScrWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,TagScrHandle(a4)
- beq.s .TagScrWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #TAGSCRWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.w #-1,TagScrEntry(a4)
- bsr.s SetTagScrGads
-
- move.l TagScrHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- bsr UnlockScreen
- unlk a5
- rts
- .TagScrWinError bsr.s CloseTagScrWin
- move.l #MEMORY_ERR,ErrorPrefs(a4)
- bsr DisplayError
- bsr UnlockScreen
- unlk a5
- rts
-
-
-
-
- **********************************************************************
- * Close Preferences window *
- **********************************************************************
- CloseTagScrWin lea TagScrHandle(a4),a3
- bra CloseAWindow
-
-
-
- **********************************************************************
- * Set TagScreen Gadgets *
- **********************************************************************
- SetTagScrGads move.b TagScreens(a4),d0
- move.l #GD_TagScreensOn,d1
- bsr SetTagScrBox
-
- moveq #1,d1
- OffTagTaskGads move.l #GD_TagAutoScr,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- move.l #GD_TagHardPatch,d0
- DOLIB GhostGadget
- move.l #GD_TagNoMon,d0
- DOLIB GhostGadget
- move.l #GD_TagNoFnt,d0
- DOLIB GhostGadget
- move.l #GD_TagSAPens,d0
- DOLIB GhostGadget
- move.l #GD_TagScrMode,d0
- DOLIB GhostGadget
- move.l #GD_TagScrHeight,d0
- DOLIB GhostGadget
- move.l #GD_TagScrWidth,d0
- DOLIB GhostGadget
- move.l #GD_SelectTagTask,d0
- DOLIB GhostGadget
- move.l #GD_RemTagTsk,d0
- DOLIB GhostGadget
- move.l #GD_TagTaskName,d0
- DOLIB GhostGadget
- move.l #GD_TagCenterScr,d0
- DOLIB GhostGadget
- move.l #GD_TagSystemPens,d0
- DOLIB GhostGadget
- move.b d1,d2
- tst.b d1
- bne.s .DoBorderDis
- moveq #0,d1
- move.b BlackBorderOk(a4),d1
- not.b d1
- .DoBorderDis move.l #GD_TagBlackBorder,d0
- DOLIB GhostGadget
- move.b d2,d1
- tst.b d1
- bne.s .DoOS3TagsDis
- moveq #0,d1
- move.b OS3TagsOk(a4),d1
- not.b d1
- .DoOS3TagsDis move.l #GD_TagInterleave,d0
- DOLIB GhostGadget
- move.l #GD_TagLikeWB,d0
- DOLIB GhostGadget
- move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d0
- beq.s .NoEntry
- moveq #0,d1
- cmp.l GlobalTagAdr(a4),d0
- bne.s .NoOff
- moveq #1,d1
- .NoOff move.l #GD_TagTaskName,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- .NoEntry moveq #0,d1
- tst.l GlobalTagAdr(a4)
- beq.s .OnGlobal
- moveq #1,d1
- .OnGlobal move.l #GD_AddTagGlobal,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB GhostGadget,_KCXBase
- move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d0
- beq.s .NoGlobEntry
- moveq #0,d1
- cmp.l GlobalTagAdr(a4),a1
- bne.s .NoSelOff
- moveq #1,d1
- .NoSelOff move.l #GD_SelectTagTask,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- DOLIB GhostGadget
- .NoGlobEntry move.l TagScrHandle(a4),d0
- beq.s .End
- move.l d0,a0
- sub.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
- .End rts
- SetTagScrBox lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- rts
- SetTagScrInt lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB SetIntegerGad,_KCXBase
- rts
- **********************************************************************
- * Set gadgets of one entry *
- **********************************************************************
- SetTagEntryGads movem.l RegsAll,-(sp)
- move.w TagScrEntry(a4),d0
- bsr GetTagScrEntry
- move.l a1,d0
- beq .End
- move.l a1,a3
- move.b tagscr_Font(a3),d0
- move.l #GD_TagNoFnt,d1
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- RELLIB SetCheckBox,_KCXBase
- move.b tagscr_AutoScroll(a3),d0
- move.l #GD_TagAutoScr,d1
- DOLIB SetCheckBox
- move.b tagscr_Monitor(a3),d0
- move.l #GD_TagNoMon,d1
- DOLIB SetCheckBox
- move.b tagscr_HardPatch(a3),d0
- move.l #GD_TagHardPatch,d1
- DOLIB SetCheckBox
- move.b tagscr_Pens(a3),d0
- move.l #GD_TagSAPens,d1
- DOLIB SetCheckBox
- move.b tagscr_CenterScr(a3),d0
- move.l #GD_TagCenterScr,d1
- DOLIB SetCheckBox
- move.b tagscr_BlackBorder(a3),d0
- move.l #GD_TagBlackBorder,d1
- DOLIB SetCheckBox
- move.b tagscr_Interleave(a3),d0
- move.l #GD_TagInterleave,d1
- DOLIB SetCheckBox
- move.b tagscr_LikeWB(a3),d0
- move.l #GD_TagLikeWB,d1
- DOLIB SetCheckBox
- move.b tagscr_SystemPens(a3),d0
- move.l #GD_TagSystemPens,d1
- DOLIB SetCheckBox
- move.l #GD_TagScrHeight,d0
- move.l tagscr_Height(a3),d1
- DOLIB SetIntegerGad
- move.l #GD_TagScrWidth,d0
- move.l tagscr_Width(a3),d1
- DOLIB SetIntegerGad
- moveq #0,d1
- tst.b tagscr_LikeWB(a3)
- beq.s .NotLikeWB
- moveq #1,d1
- .NotLikeWB move.l #GD_TagNoMon,d0
- DOLIB GhostGadget
- tst.b tagscr_LikeWB(a3)
- bne.s .OffMonGads
- moveq #0,d1
- tst.b tagscr_Monitor(a3)
- bne.s .OnMonGads
- .OffMonGads moveq #1,d1
- .OnMonGads move.l #GD_TagScrMode,d0
- DOLIB GhostGadget
- move.l #GD_TagScrHeight,d0
- DOLIB GhostGadget
- move.l #GD_TagScrWidth,d0
- DOLIB GhostGadget
- link a5,#-nif_SIZEOF
- sub.l a0,a0
- lea -nif_SIZEOF(a5),a1
- move.l #nif_SIZEOF,d0
- move.l #DTAG_NAME,d1
- move.l tagscr_DisplayID(a3),d2
- RELLIB GetDisplayInfoData,_GfxBase
- lea -nif_SIZEOF(a5),a0
- lea nif_Name(a0),a0
- lea TagScrModeName(a4),a1
- bsr StrCpy
- unlk a5
- move.l #GD_TagScrModeType,d0
- lea TagScrGads(a4),a0
- move.l TagScrHandle(a4),a1
- lea TagScrModeName(a4),a2
- RELLIB SetTextGad,_KCXBase
- .End movem.l (sp)+,RegsAll
- rts
-
-
-
- **********************************************************************
- * This part closes our window *
- **********************************************************************
- CloseAWindow tst.l (a3)
- beq.s NoWindow2Close
- CALLSYS Forbid ; Free all messages for that window
- move.l (a3),a0
- move.l wd_UserPort(a0),a0
- lea MP_MSGLIST(a0),a0
- TSTLIST a0
- beq.s .End
- move.l LH_HEAD(a0),a5
- .Loop move.l a5,d0
- beq.s .End
- lea im_ExecMessage(a5),a0
- move.l LN_SUCC(a5),-(sp)
- move.l im_IDCMPWindow(a5),d0
- cmp.l (a3),d0
- bne.s .GoOn
- move.l a5,a1
- DOLIB Remove
- move.l a5,a1
- DOLIB ReplyMsg
- .GoOn move.l (sp)+,a5
- bra.s .Loop
- .End move.l (a3),a0
- clr.l wd_UserPort(a0)
- moveq #0,d0
- RELLIB ModifyIDCMP,_IntuitionBase
- CALLSYS Permit
- move.l (a3),a0
- RELLIB CloseWindow,_IntuitionBase ; Close Window
- NoWindow2Close tst.l 4(a3)
- beq.s GotNoGadgets
- move.l 4(a3),a0 ; Free GadTools-Gadgets
- RELLIB FreeGadgets,_GadToolsBase
- GotNoGadgets tst.l 8(a3) ; Free Visual-Info
- beq.s NoVisInfo
- move.l 8(a3),a0
- RELLIB FreeVisualInfo,_GadToolsBase
- NoVisInfo clr.l (a3) ; Clear flags for later
- clr.l 4(a3) ; identification
- clr.l 8(a3)
- rts
-
-
-
- **********************************************************************
- * Close down a window with a non-shared IDCMP *
- **********************************************************************
- CloseNormWindow tst.l (a3)
- beq.s .NoWindow
- move.l (a3),a0
- RELLIB CloseWindow,_IntuitionBase ; Close Window
- .NoWindow tst.l 4(a3)
- beq.s .NoGadgets
- move.l 4(a3),a0 ; Free GadTools-Gadgets
- RELLIB FreeGadgets,_GadToolsBase
- .NoGadgets tst.l 8(a3) ; Free Visual-Info
- beq.s .NoVisInfo
- move.l 8(a3),a0
- RELLIB FreeVisualInfo,_GadToolsBase
- .NoVisInfo clr.l (a3) ; Clear flags for later
- clr.l 4(a3) ; identification
- clr.l 8(a3)
- rts
-
-
- **********************************************************************
- * Close all remaining windows *
- **********************************************************************
- CloseWins bsr CloseTagScrWin ; Close control windows
- bsr CloseLockWin
- bsr ClosePrefsWin
- bsr CloseFKeyWin
- bsr CloseHotKeyWin
- bsr CloseMouseWin
- bsr CloseClockDefWin
- bsr CloseBlankWin
- bsr CloseCycleWin
- bsr CloseAlarmWin
- bsr CloseMiscWin
- bsr CloseSetWin
- bsr CloseMainWin
- clr.w AbortPrefs(a4)
- rts
-
-
-
- **********************************************************************
- * Compare two strings *
- **********************************************************************
- StrCmp moveq #0,d0
- moveq #0,d1
- movem.l a0/a1,-(sp) ; Store pointers
- .Loop move.b (a0)+,d0 ; get chars
- move.b (a1)+,d1
- tst.b d0 ; Source string ended ?
- beq.s .EndSrc ; yep -> final check
- cmp.b #$0a,d0 ; a newline ?
- beq.s .EndSrc ; yep -> final check
- or.b #$20,d0 ; make case-insensitive
- or.b #$20,d1
- cmp.b d0,d1 ; equal ?
- bne.s .Invalid
- dbf d7,.Loop
- movem.l (sp)+,a0/a1
- moveq #0,d0
- rts
- .Invalid moveq #1,d0 ; Error flag
- movem.l (sp)+,a0/a1
- rts
- .EndSrc cmp.b d0,d1 ; last chars equal ?
- bne.s .Invalid ; Nope -> error
- moveq #0,d0 ; a ok
- movem.l (sp)+,a0/a1
- rts
-
-
- **********************************************************************
- * Compare two strings (case sensitive) *
- **********************************************************************
- StrCmp2 moveq #0,d0
- moveq #0,d1
- movem.l a0/a1,-(sp) ; Store pointers
- .Loop move.b (a0)+,d0 ; get chars
- move.b (a1)+,d1
- tst.b d0 ; Source string ended ?
- beq.s .EndSrc ; yep -> final check
- cmp.b #$0a,d0 ; a newline ?
- beq.s .EndSrc ; yep -> final check
- cmp.b d0,d1 ; equal ?
- bne.s .Invalid
- dbf d7,.Loop
- movem.l (sp)+,a0/a1
- moveq #0,d0
- rts
- .Invalid moveq #1,d0 ; Error flag
- movem.l (sp)+,a0/a1
- rts
- .EndSrc cmp.b d0,d1 ; last chars equal ?
- bne.s .Invalid ; Nope -> error
- moveq #0,d0 ; a ok
- movem.l (sp)+,a0/a1
- rts
-
- **********************************************************************
- * Copy a string *
- **********************************************************************
- StrCpy move.b (a0)+,d0
- move.b d0,(a1)+
- tst.b d0
- beq.s .End
- bra.s StrCpy
- .End rts
-
-
- **********************************************************************
- * Concat 2 string *
- **********************************************************************
- StrCat tst.b (a1)+
- beq.s .Loop
- bra StrCat
- .Loop subq.l #1,a1
- bra StrCpy
-
-
- **********************************************************************
- * Copy a string up to x chars or end of string *
- **********************************************************************
- StrNCpy move.b (a0)+,d0
- move.b d0,(a1)+
- tst.b d0
- beq.s .End
- dbf d7,StrNCpy
- .End rts
-
-
- **********************************************************************
- * Calc length of a string *
- **********************************************************************
- StrLen move.l a0,-(sp)
- moveq #0,d0
- .Loop tst.b (a0)+
- beq.s .End
- addq.w #1,d0
- bne.s .Loop
- .End move.l (sp)+,a0
- rts
-
-
-
-
- **********************************************************************
- * Store new position of window within NewWindow *
- **********************************************************************
- StoreWinPos move.w wd_LeftEdge(a0),0(a1)
- move.w wd_TopEdge(a0),2(a1)
- rts
-
-
-
-
- **********************************************************************
- * Get address of selected entry *
- * D0 = Number of entry *
- * RESULT : A1 = Address of entry or NULL *
- **********************************************************************
- GetEntry movem.l d1-d7/a2-a6,-(sp)
- tst.b LockListType(a4)
- beq.s .GetWindowEntry
- lea TaskWinBase(a4),a0
- bra.s .DoGet
- .GetWindowEntry lea WindowBase(a4),a0
- .DoGet SUCC a0,a0
- sub.l a1,a1
- tst.w d0
- blt.s .Done
- .Loop TSTLST2 a0,a2
- beq.s .Done
- tst.w d0
- beq.s .GotIt
- move.l a0,d1
- beq.s .Done
- SUCC a0,a0
- subq.w #1,d0
- bra.s .Loop
- .GotIt move.l a0,a1
- .Done movem.l (sp)+,d1-d7/a2-a6
- rts
-
-
-
- **********************************************************************
- * Get address of selected TagScreens entry *
- * D0 = Number of entry *
- * RESULT : A1 = Address of entry or NULL *
- **********************************************************************
- GetTagScrEntry movem.l d1-d7/a2-a6,-(sp)
- sub.l a1,a1
- lea TagScrsTasks(a4),a0
- TSTLST2 a0,a2
- beq.s .Done
- tst.w d0
- blt.s .Done
- move.l MLH_HEAD(a0),a0
- .Loop TSTLST2 a0,a2
- beq.s .Done
- tst.w d0
- beq.s .GotIt
- move.l a0,d1
- beq.s .Done
- SUCC a0,a0
- subq.w #1,d0
- bra.s .Loop
- .GotIt move.l a0,a1
- .Done movem.l (sp)+,d1-d7/a2-a6
- rts
-
-
- **********************************************************************
- * String/Integer Gadget pens setten *
- **********************************************************************
- SetStrIntGads movem.l RegsAll,-(sp)
-
- .Loop move.l (a0),d0
- beq.s .End
- move.l (a0)+,a1
- move.w gg_GadgetType(a1),d0
- and.w #GTYP_STRGADGET,d0
- beq.s .NoStrGad
- move.l gg_SpecialInfo(a1),a1
- move.l si_Extension(a1),a1
- move.w #$0102,sex_ActivePens(a1)
- .NoStrGad bra.s .Loop
- .End movem.l (sp)+,RegsAll
- rts
-
-
-
-
- **********************************************************************
- * Lock the Workbench-Screen *
- **********************************************************************
- LockScreen lea WBScrName(pc),a0
- RELLIB LockPubScreen,_IntuitionBase
- move.l d0,-4(a5)
- rts
- WBScrName dc.b "Workbench",0
- EVEN
-
-
- **********************************************************************
- * Unlock the locked screen *
- **********************************************************************
- UnlockScreen tst.l -4(a5)
- beq.s .End
- sub.l a0,a0
- move.l -4(a5),a1
- RELLIB UnlockPubScreen,_IntuitionBase
- .End rts
-
-
-
-
-
- **********************************************************************
- * Display the correct time for the two slider gadgets *
- **********************************************************************
- ShowTime movem.l d1-d7/a0-a6,-(sp)
- link a5,#-8 ; Get buffer for variables
- move.l 68(a5),d0 ; Get number
- move.l ZeroBase(pc),a4 ; Recalculate
- divu #6,d0
- move.w d0,d1
- swap d0
- and.l #$0000ffff,d0
- and.l #$0000ffff,d1
- mulu #10,d0
- move.l d1,-8(a5)
- move.l d0,-4(a5)
- lea FormLongNSStr,a0 ; Format
- lea -8(a5),a1
- lea PutChProc,a2
- lea HourStr(a4),a3
- CALLSYS RawDoFmt
- lea HourStr(a4),a0
- move.l a0,d0
- unlk a5
- movem.l (sp)+,d1-d7/a0-a6
- rts
-
-
- **********************************************************************
- * Display alarm time *
- **********************************************************************
- ShowAlarm movem.l d1-d7/a0-a6,-(sp)
- link a5,#-8 ; Get buffer for variables
- move.l 68(a5),d0 ; Get number
- move.l ZeroBase(pc),a4 ; Recalculate
- divu #60,d0
- move.w d0,d1
- swap d0
- and.l #$0000ffff,d0
- and.l #$0000ffff,d1
- move.l d1,-8(a5)
- move.l d0,-4(a5)
- lea FormLongNSStr,a0 ; Format
- lea -8(a5),a1
- lea PutChProc,a2
- lea HourStr(a4),a3
- CALLSYS RawDoFmt
- lea HourStr(a4),a0
- move.l a0,d0
- unlk a5
- movem.l (sp)+,d1-d7/a0-a6
- rts
-
-
- **********************************************************************
- * Signal the timer process to remake the time *
- **********************************************************************
- SigTime move.l CheckerProc(a4),a1
- move.l a1,d0
- beq.s .End
- move.l #SIGTIMEREMAKE,d0
- CALLSYS Signal
- .End rts
-
-
-
- **********************************************************************
- * Send TitleBar-Clear command to buddy *
- **********************************************************************
- ClearTitleBar move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_CLEARTITLE,d0
- RELLIB ComPut,_KCXBase
- rts
-
-
- **********************************************************************
- * Send buddy a command to close the clock window *
- **********************************************************************
- CloseClockWin move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_CLOSECLOCK,d0
- RELLIB ComPut,_KCXBase
- rts
-
-
-
- **********************************************************************
- * Tell buddy to start clicking again *
- **********************************************************************
- SetNoClick move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_SETNOCLICK,d0
- RELLIB ComPut,_KCXBase
- rts
-
-
-
-
- **********************************************************************
- * Send Enable-Broker command *
- **********************************************************************
- EnableBroker move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_ENABLE,d0
- RELLIB ComPut,_KCXBase
- rts
-
-
-
-
- **********************************************************************
- * Send Disable-Broker command to buddy *
- **********************************************************************
- DisableBroker move.l BackPort(a4),a0
- move.l PrefsPort(a4),a1
- move.l #COM_DISABLE,d0
- RELLIB ComPut,_KCXBase
- rts
-
-
-
- **********************************************************************
- * Display the total sum of phone calls *
- **********************************************************************
- DisplayTotalSum lea LogFileName(a4),a0
- move.l a0,d1 ; First check size of file
- move.l #ACCESS_READ,d2
- RELLIB Lock,_DOSBase
- move.l d0,d7
- tst.l d0 ; IS IT THERE ?
- bne.s .GotFile
- rts
- .GotFile link a5,#-fib_SIZEOF ; Get FIB
- lea -fib_SIZEOF(a5),a0
- move.l d7,d1 ; Get FileInfo
- move.l a0,d2
- DOLIB Examine
- move.l d7,d1
- DOLIB UnLock ; Unlock file
- lea -fib_SIZEOF(a5),a0 ; Check size
- tst.l fib_Size(a0) ; on zero quit
- bne.s .SizeOk
- unlk a5
- rts
- .SizeOk unlk a5
-
- link a5,#-(LOGENTRYSIZE*2+128) ; Get buffer for a log-entry
-
- sub.l a0,a0
- lea MyEasyRequest(pc),a1
- LOCLEA FileWinTxt(pc),a2
- move.l a2,es_TextFormat(a1)
- LOCLEA FileWinGads(pc),a2
- move.l a2,es_GadgetFormat(a1)
- sub.l a2,a2
- sub.l a3,a3
- RELLIB EasyRequestArgs,_IntuitionBase
- tst.l d0
- beq.s .DisplayWin
- move.b #1,SumToFile(a4)
-
- lea -(LOGENTRYSIZE*2+128)(a5),a0
- clr.l (a0)
-
- pea 0
- pea FRF_DOSAVEMODE
- pea 0
- clr.w -(sp)
- pea -(LOGENTRYSIZE*2+128)(a5)
- LOCLEA FileWinHead,d0
- move.l d0,-(sp)
- move.l PrefsHandle(a4),-(sp)
- bsr GetFileName
- lea 26(sp),sp
- tst.l d0
- beq .EndTotSum
-
- lea -(LOGENTRYSIZE*2+128)(a5),a0
- move.l a0,d1
- move.l #MODE_NEWFILE,d2
- RELLIB Open,_DOSBase
- move.l d0,TempHand(a4)
- tst.l d0
- bne.s .GoOnDisplay
- DOLIB IoErr
- move.l d0,ErrorPrefs(a4)
- bsr DisplayError
- bra .EndTotSum
-
- .DisplayWin clr.b SumToFile(a4)
- LOCLEA ConWinDef(pc),a0
- move.l a0,d1 ; Open CON: Window
- move.l #MODE_OLDFILE,d2
- RELLIB Open,_DOSBase
- move.l d0,TempHand(a4)
- tst.l d0
- beq .EndTotSum
-
- move.l TempHand(a4),d1
- move.l #ClearStr,d2
- move.l #ClearStrLen,d3
- DOLIB Write
-
- .GoOnDisplay lea LogFileName(a4),a0
- move.l a0,d1 ; Open Log file
- move.l #MODE_OLDFILE,d2
- DOLIB Open
- move.l d0,FileHand(a4)
- tst.l d0
- beq .EndTotSum
-
- moveq #0,d7 ; Clear linenumber
- moveq #0,d5
- move.l d7,BillMajor ; and cost
- move.l d7,BillMinor
- move.l d7,BillTotalCost
- move.l d7,BillDayCost
-
- .SumLoop move.l FileHand(a4),d1 ; Get one line
- lea -(LOGENTRYSIZE*2)(a5),a0
- move.l a0,d2
- move.l #(LOGENTRYSIZE*2)-1,d3
- DOLIB FGets
- tst.l d0
- bne.s .GoOn
- bsr DisplayDaySum ; Display final day costs
- moveq #-1,d7 ; Indicate end of file
- bra.s .EndOfAll
-
- .GoOn bsr CheckDay
-
- move.l TempHand(a4),d1 ; Display line
- lea -(LOGENTRYSIZE*2)(a5),a0
- move.l a0,d2
- DOLIB FPuts
-
- lea -(LOGENTRYSIZE*2)(a5),a3 ; Get start of major-cost
- lea 72(a3),a3
- move.l a3,a2
- .LoopMinor cmp.b #'.',(a2)+ ; find period
- beq.s .GotMinor
- bra.s .LoopMinor
- .GotMinor clr.b -1(a2) ; Extract minor cost
- clr.b 2(a2)
-
- move.l a3,d1
- move.l #BillMajor,d2
- DOLIB StrToLong
- tst.l d0
- ble .EndTotSum
- mulu #100,d1
- move.l d1,d6 ; Get costs
-
- move.l a2,d1
- move.l #BillMinor,d2
- DOLIB StrToLong
- tst.l d0
- ble .EndTotSum
- add.l d1,d6 ; ....
- add.l d6,BillTotalCost
- add.l d6,BillDayCost
-
- addq.l #1,d7 ; One line done
- cmp.l #12,d7 ; 12 lines done ?
- blt .SumLoop
- moveq #0,d7 ; Reset line number
- .EndOfAll tst.l d7 ; All lines done ?
- beq.s .NoFinalCost
- move.l BillTotalCost,d6
- divu #100,d6
- move.w d6,d5
- swap d6
- ext.l d6
- move.l d6,BillMinor
- ext.l d5
- move.l d5,BillMajor
- LOCLEA FinalCostForm,a0 ; Format final cost string
- lea BillMajor,a1
- lea PutChProc(pc),a2
- lea -(LOGENTRYSIZE*2)(a5),a3
- CALLSYS RawDoFmt
- move.l TempHand(a4),d1 ; Display string
- lea -(LOGENTRYSIZE*2)(a5),a0
- move.l a0,d2
- RELLIB FPuts,_DOSBase
- .NoFinalCost tst.b SumToFile(a4)
- bne.s .NoKey
- move.l TempHand(a4),d1 ; Display prompt
- LOCLEA PressKey,a0
- move.l a0,d2
- DOLIB FPuts
- move.l TempHand(a4),d1 ; Wait for return
- DOLIB FGetC
- .NoKey tst.l d7
- blt.s .EndTotSum
- bra .SumLoop
-
- .EndTotSum unlk a5 ; Free buffer
-
- tst.l FileHand(a4) ; Close files
- beq.s .NoFileHand
- move.l FileHand(a4),d1
- DOLIB Close
- .NoFileHand tst.l TempHand(a4)
- beq.s .NoTempHand
- move.l TempHand(a4),d1
- DOLIB Close
- .NoTempHand clr.l TempHand(a4)
- clr.l FileHand(a4)
- moveq #0,d0
- move.l #SIGBREAKF_CTRL_C,d1
- CALLSYS SetSignal
- rts
-
-
-
- **********************************************************************
- * Check for a difference in dates *
- **********************************************************************
- CheckDay move.l d7,d6 ; Store old line number
- tst.b d5 ; First day read ?
- beq.s .FirstDay
- lea -(LOGENTRYSIZE*2)(a5),a0 ; Compare dates
- lea BillDayStr,a1
- moveq #8,d7
- bsr StrCmp
- tst.l d0
- beq.s .End ; On equal -> go on
- bsr.s DisplayDaySum ; Display sum for a day
- .FirstDay lea -(LOGENTRYSIZE*2)(a5),a0 ; Copy date to buffer
- lea BillDayStr,a1
- moveq #8,d7
- bsr StrNCpy
- moveq #1,d5 ; Set flag
- .End move.l d6,d7
- rts
-
-
-
- **********************************************************************
- * Display the sum for a day *
- **********************************************************************
- DisplayDaySum movem.l RegsAll,-(sp)
-
- link a5,#-(LOGENTRYSIZE*2) ; Get buffer for a line
-
- move.l BillDayCost,d3 ; Get costs
- divu #100,d3 ; convert `em
- move.w d3,d4
- swap d3
- ext.l d3
- move.l d3,BillMinor
- ext.l d4
- move.l d4,BillMajor
- LOCLEA DayCostForm,a0 ; Format string
- lea BillDayPtr,a1
- lea PutChProc(pc),a2
- lea -(LOGENTRYSIZE*2)(a5),a3
- CALLSYS RawDoFmt
- clr.l BillDayCost
- move.l TempHand(a4),d1 ; Make it appear
- lea -(LOGENTRYSIZE*2)(a5),a0
- move.l a0,d2
- RELLIB FPuts,_DOSBase
- addq.l #3,d6 ; three more lines written
- unlk a5
- movem.l (sp)+,RegsAll
- rts
-
-
- **********************************************************************
- * Display Msg that only to be run under Kick2.x *
- **********************************************************************
- OnlyKick20 sub.l a1,a1
- CALLSYS FindTask
- move.l d0,a0
- tst.l pr_CLI(a0)
- beq.s .FromWB
- lea DosName,a1
- moveq #0,d0
- DOLIB OpenLibrary
- move.l d0,a6
- DOLIB Output
- move.l d0,d1
- move.l #Only20Txt,d2
- move.l #Only20TxtEnd-Only20Txt,d3
- DOLIB Write
- move.l a6,a1
- CALLSYS CloseLibrary
- rts
- .FromWB lea IntName,a1 ; try to open IntBase
- moveq #0,d0
- CALLSYS OpenLibrary
- tst.l d0
- beq.s OnlyKick20Ret
- move.l d0,a6
-
- sub.l a0,a0 ; Display requester
- lea Only20ITxt(pc),a1
- lea OkITxt(pc),a2
- move.l a2,a3
- moveq #0,d0
- moveq #0,d1
- move.l #300,d2
- move.l #60,d3
- DOLIB AutoRequest
-
- move.l a6,a1
- CALLSYS CloseLibrary
- OnlyKick20Ret rts
-
-
-
- **********************************************************************
- * Display an error *
- **********************************************************************
- DisplayError tst.l ErrorPrefs(a4)
- bge.s .GoOn
- rts
- .GoOn tst.l _KCXBase(a4)
- beq.s .End
- movem.l RegsAll,-(sp)
- bsr.s BusyAllWins
- move.l ErrorPrefs(a4),d0
- lea PrefsErrArg(a4),a3
- RELLIB DisplayError,_KCXBase
- move.l #NO_ERR,ErrorPrefs(a4)
- bsr UnbusyAllWins
- movem.l (sp)+,RegsAll
- .End rts
-
-
-
-
- **********************************************************************
- * Small dummy for RawDoFmt *
- **********************************************************************
- PutChProc move.b d0,(a3)+
- rts
-
-
-
-
- **********************************************************************
- * Busy all main windows *
- **********************************************************************
- BusyAllWins move.l MainHandle(a4),a0 ; Make all gadgets busy
- RELLIB BusyWindow,_KCXBase
- move.l SetHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- move.l MiscHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- move.l AlarmHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- move.l CycleHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- move.l ClockDefHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- move.l MouseHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- move.l HotKeyHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- move.l FKeyHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- move.l PrefsHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- move.l LockHandle(a4),a0
- RELLIB BusyWindow,_KCXBase
- rts
-
-
-
- **********************************************************************
- * Unbusy all windows *
- **********************************************************************
- UnbusyAllWins move.l MainHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l SetHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l MiscHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l AlarmHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l CycleHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l ClockDefHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l MouseHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l HotKeyHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l FKeyHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l PrefsHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- move.l LockHandle(a4),a0
- RELLIB UnbusyWindow,_KCXBase
- rts
-
-
-
-
-
- **********************************************************************
- * Displays a hotkey by it`s name *
- * D0 = Code *
- * D1 = Qualifier *
- * D2 = Number of gadget *
- * A0 = Pointer to gadgetlist *
- * A1 = Pointer to window *
- * A2 = Pointer to buffer for string *
- **********************************************************************
- DisplayHotKey movem.l RegsAll,-(sp)
-
- move.l a1,d5
- beq .End
-
- link a5,#-(ie_SIZEOF+138) ; Get a buffer
-
- movem.l a0-a2/d0-d2,-(sp) ; Filter out qualifiers
- move.l a2,a1
- clr.b (a1)
- lea QualifierTab,a2
- moveq #NUMQUALIFIER-1,d7
- move.w d1,d4
- .LoopQual tst.w d4 ; No qualifier ?
- beq.s .QualDone ; Go on
- move.w d4,d5
- move.l (a2),d6 ; get qualifier from table
- and.w d6,d5 ; Set in user qual ?
- beq.s .NotThisOne ; Nope -> go on
- move.l 4(a2),a0 ; Append it`s name to string
- bsr StrCpy
- move.b #' ',-1(a1)
- not.w d6 ; Clear flag
- and.w d6,d4
- .NotThisOne addq.l #8,a2 ; loop
- dbf d7,.LoopQual
- .QualDone move.l a1,a3
- movem.l (sp)+,a0-a2/d0-d2
-
- tst.w d0
- ble.s .NoCodeQuote
- move.b #"'",(a3)+
- .NoCodeQuote clr.b (a3)
- move.l a2,-(sp)
- tst.w d0
- ble.s .GotCode
- lea CodeTab,a2 ; Test for code within table
- move.w #NUMCODES-1,d7
- .Loop move.l (a2),d5
- cmp.w d5,d0
- beq.s .ThisCode
- addq.l #8,a2
- dbf d7,.Loop
- bra.s .NoSpecCode
- .ThisCode move.l 4(a2),a3
- bra.s .GotCode
-
- .NoSpecCode move.l (sp)+,a2
- movem.l a0-a2/d0-d2,-(sp)
- lea -ie_SIZEOF(a5),a1 ; Convert RAWKEY
- clr.l ie_NextEvent(a1)
- move.b #IECLASS_RAWKEY,ie_Class(a1)
- clr.b ie_SubClass(a1)
- move.w d0,ie_Code(a1)
- clr.w ie_Qualifier(a1)
- clr.l ie_EventAddress(a1)
-
- move.l a1,a0
- lea -(ie_SIZEOF+10)(a5),a1
- moveq #9,d1
- sub.l a2,a2
- RELLIB MapRawKey,_KeyMapBase
- movem.l (sp)+,a0-a2/d0-d2
- clr.b -(ie_SIZEOF+9)(a5)
- lea -(ie_SIZEOF+10)(a5),a3
- cmp.b #'a',(a3)
- blt.s .GoOn2
- and.b #~$20,(a3) ; Uppercase the key
- bra.s .GoOn2
- .GotCode move.l (sp)+,a2
- .GoOn2 movem.l a0-a2/d0-d2,-(sp)
- move.l a3,a0
- move.l a2,a1
- move.w d0,-(sp)
- bsr StrCat
- move.w (sp)+,d0
- tst.w d0
- ble.s .NoCodeQuote2
- move.b #"'",-1(a1)
- .NoCodeQuote2 clr.b (a1)
- movem.l (sp)+,a0-a2/d0-d2
-
- move.l d2,d0
- RELLIB SetTextGad,_KCXBase
-
- unlk a5
- .End movem.l (sp)+,RegsAll
- rts
-
-
-
-
- **********************************************************************
- * Get a qualifier and display in window *
- **********************************************************************
- GetQualifier move.l a0,-(sp)
- LOCLEA DefQualTitle,a0
- lea QualTitle(a4),a1
- move.l a1,QualWinWG+12
- bsr StrCpy
- move.l (sp)+,a0
- lea QualTitle(a4),a1 ; Copy title
- bsr StrCat
-
- link a5,#-(4+4+2+2+2+2+gng_SIZEOF)
- lea QualTxt(a4),a0
- move.l a0,FontPtr(a5)
- bsr LockScreen
- tst.l d0
- beq .QualWinError
- moveq #0,d2
- moveq #0,d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- sub.l a1,a1
- RELLIB GetVisualInfoA,_GadToolsBase
- move.l d0,QualVisInfo(a4)
- beq .QualWinError
-
- move.l -4(a5),a0
- moveq #0,d3
- moveq #0,d2
- move.w QualWinWidth(a4),d2
- move.w QualWinHeight(a4),d3
- RELLIB ComputeFont,_KCXBase
- move.l -4(a5),a0
- move.l d2,d0
- DOLIB ComputeX
- move.l d0,d4
- move.w QualWinLeft(a4),d2
- move.l -4(a5),a3
- move.w sc_LeftEdge(a3),d5
- neg.w d5
- add.w d5,d2
- add.w d2,d0
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s .WOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- .WOk move.l d3,d0
- DOLIB ComputeY
- move.l d0,d4
- move.w QualWinTop(a4),d3
- move.l -4(a5),a3
- move.w sc_TopEdge(a3),d5
- neg.w d5
- add.w d5,d3
- add.w d3,d0
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s .HOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- .HOk lea.l QualGadget(a4),a0
- RELLIB CreateContext,_GadToolsBase
- move.l d0,a3
- beq .QualWinError
-
- movem.l d2-d3/a4,-(sp)
- moveq #0,d3
- lea.l QualWinGTags,a4
- .QualWinGL lea.l QualWinNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- moveq #gng_SIZEOF,d0
- CALLSYS CopyMem
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- move.l gng_GadgetText(a0),-(sp)
- bsr GetLocStr
- move.l (sp)+,d7
- move.l d7,gng_GadgetText(a0)
- move.l QualVisInfo(a4),gng_VisualInfo(a0)
- move.l FontPtr(a5),gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- DOLIB ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- DOLIB ComputeY
- move.l (sp)+,a4
- move.w d0,gng_Height(a0)
- lea.l QualWinGTypes,a0
- moveq #0,d0
- move.l d3,d1
- lsl.l #1,d1
- move.w 0(a0,d1.w),d0
- move.l a3,a0
- lea.l -(4+4+2+2+2+2+gng_SIZEOF)(a5),a1
- move.l a4,a2
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- RELLIB CreateGadgetA,_GadToolsBase
- move.l (sp)+,a4
- tst.l d0
- beq .QualWinError
- move.l d0,a3
- move.l d3,d0
- lsl.l #2,d0
- move.l a4,-(sp)
- move.l ZeroBase(pc),a4
- lea.l QualGads(a4),a0
- move.l (sp)+,a4
- move.l a3,0(a0,d0.w)
- .QualWinTL tst.l (a4)
- beq.s .QualWinDN
- addq.w #8,a4
- bra.s .QualWinTL
- .QualWinDN addq.w #4,a4
- addq.w #1,d3
- cmp.w #QualWin_CNT,d3
- bmi .QualWinGL
- movem.l (sp)+,d2-d3/a4
- move.l QualGadget(a4),QualWinWG+4
-
- LOCLEA WindowScrTitle,QualWinWG+20
- move.l -4(a5),QualWinSC+4 ; Open window
- ext.l d2
- ext.l d3
- move.l d2,QualWinL+4
- move.l d3,QualWinT+4
- move.l -4(a5),a0
- move.w QualWinWidth(a4),d0
- RELLIB ComputeX,_KCXBase
- add.w OffX(a5),d0
- moveq #0,d1
- move.b sc_WBorRight(a0),d1
- add.w d1,d0
- move.l d0,QualWinW+4
- move.w QualWinHeight(a4),d0
- DOLIB ComputeY
- add.w OffY(a5),d0
- moveq #0,d1
- move.b sc_WBorBottom(a0),d1
- add.w d1,d0
- move.l d0,QualWinH+4
- suba.l a0,a0
- lea.l QualWinWindowTags,a1
- RELLIB OpenWindowTagList,_IntuitionBase
- move.l d0,QualHandle(a4)
- beq.s .QualWinError
- move.l d0,a0
- move.l WindowPort(a4),wd_UserPort(a0)
- move.l #QUALWINIDCMP,d0
- DOLIB ModifyIDCMP
-
- move.l QualHandle(a4),a0
- suba.l a1,a1
- RELLIB GT_RefreshWindow,_GadToolsBase
-
- move.w NewCode(a4),d0 ; Display old HotKey
- move.w NewQual(a4),d1
- move.l #GD_QualTxt,d2
- lea QualGads(a4),a0
- move.l QualHandle(a4),a1
- lea QualQualStr(a4),a2
- bsr DisplayHotKey
-
- bsr BusyAllWins
-
- bsr UnlockScreen
- unlk a5
- bsr DisableBroker
- move.b Disabled(a4),d0
- move.b d0,OldDisabled(a4)
- move.b #1,Disabled(a4)
- bra.s WorkQualWin
-
- .QualWinError bsr UnlockScreen
- unlk a5
- bra CloseQualWin
-
- WorkQualWin move.l WindowPort(a4),a0
- CALLSYS WaitPort
- LoopQualMsg move.l QualHandle(a4),a0
- move.l wd_UserPort(a0),a0
- RELLIB GT_GetIMsg,_GadToolsBase
- tst.l d0
- beq WorkQualWin
-
- move.l d0,a1
- move.l im_Class(a1),d6 ; Get class
- moveq #0,d5
- move.w im_Code(a1),d5 ; Get code
- tst.b KeepCode(a4) ; Keep code fixed ?
- beq.s .NewCode
- and.w #IECODE_UP_PREFIX,d5
- tst.w NewCode(a4)
- ble.s .NewCode
- or.w NewCode(a4),d5
- .NewCode move.l d6,d0
- move.w im_Qualifier(a1),d4 ; Get qualifier
- and.w #~(IEQUALIFIER_REPEAT|IEQUALIFIER_NUMERICPAD|IEQUALIFIER_INTERRUPT|IEQUALIFIER_RELATIVEMOUSE),d4
- and.l #(IDCMP_GADGETUP|IDCMP_GADGETDOWN),d0
- beq.s .NoGad
- move.l im_IAddress(a1),a2 ; Get gadget id
- move.w gg_GadgetID(a2),d7
-
- .NoGad DOLIB GT_ReplyIMsg ; Reply gadtools msg
-
- cmp.l #IDCMP_CLOSEWINDOW,d6
- beq CloseQualWin
-
- cmp.l #IDCMP_CHANGEWINDOW,d6
- bne.s NoQualMove
- move.l QualHandle(a4),a0
- lea QualWinLeft(a4),a1
- bsr StoreWinPos
- bra LoopQualMsg
-
- NoQualMove cmp.l #IDCMP_GADGETUP,d6 ; Gadget released ?
- bne.s NoQualGadUp
-
- cmp.w #1,d7 ; On OK just exit
- beq.s CloseQualWin
-
- NoQualOk cmp.w #2,d7 ; On Cancel -> clear code
- bne LoopQualMsg ; To indicate cancel
- clr.w NewCode(a4)
- bra.s CloseQualWin
-
- NoQualGadUp cmp.l #IDCMP_RAWKEY,d6 ; Key pressed ?
- bne.s NoQualRaw
- move.w d5,d0 ; Key released ?
- and.w #IECODE_UP_PREFIX,d0
- bne LoopQualMsg ; Yep -> return
- tst.b KeepCode(a4) ; Only change qualifier ?
- bne.s DisplayQual ; Yep -> go on
- cmp.w #$60,d5 ; Qualifier used as code ?
- bge LoopQualMsg ; Yep -> return
- bra.s DisplayQual ; Display qualifier
-
- NoQualRaw cmp.l #IDCMP_MOUSEBUTTONS,d6
- bne LoopQualMsg
-
- move.w d5,d0 ; Button released ?
- and.w #IECODE_UP_PREFIX,d0
- bne LoopQualMsg ; Yep -> return
- DisplayQual move.w d5,d0 ; Filter out double
- move.w d4,d1 ; existence of mouse buttons
- bsr.s FilterDouble
- tst.b KeepCode(a4)
- bne.s .NoNewCode
- move.w d0,NewCode(a4) ; Store keys
- .NoNewCode move.w d1,NewQual(a4)
- move.l #GD_QualTxt,d2
- lea QualGads(a4),a0
- move.l QualHandle(a4),a1
- lea QualQualStr(a4),a2
- bsr DisplayHotKey ; Display HotKey
- bra LoopQualMsg
-
- CloseQualWin move.b OldDisabled(a4),d0
- move.b d0,Disabled(a4)
- bsr EnableBroker
-
- bsr UnbusyAllWins
-
- lea QualHandle(a4),a3
- bra CloseAWindow
-
-
-
-
- **********************************************************************
- * Filter double Code/Qualifier occurance *
- * D0 = Code *
- * D1 = Qualifier *
- **********************************************************************
- FilterDouble cmp.w #IECODE_LBUTTON,d0 ; If one of the buttons
- bne.s .NotLeft ; is defined within code and qualifier
- and.w #~IEQUALIFIER_LEFTBUTTON,d1 ; clear the button out of the qualifier
- .NotLeft cmp.w #IECODE_MBUTTON,d0
- bne.s .NotMid
- and.w #~IEQUALIFIER_MIDBUTTON,d1
- .NotMid cmp.w #IECODE_RBUTTON,d0
- bne.s .NotRight
- and.w #~IEQUALIFIER_RBUTTON,d1
- .NotRight rts
-
-
-
-
- **********************************************************************
- * Stub for calling the library`s EditHook *
- **********************************************************************
- MyStrEditFunc movem.l RegsAll,-(sp)
- move.l h_Data(a0),a4
- RELLIB StrEditFunc,_KCXBase
- movem.l (sp)+,RegsAll
- rts
-
-
-
-
- **********************************************************************
- * Get a string froma locale *
- **********************************************************************
- GetLocStr movem.l d0-d1/a0-a1/a6,-(sp)
- move.l MyCatalog,d1
- beq.s .End
- move.l 24(sp),d0
- beq.s .End
- move.l d0,a1
- moveq #0,d0
- move.l a1,d1
- lea LOCALE_END(pc),a0
- cmp.l a0,d1
- bge.s .End
- lea LOCALE_START(pc),a0
- cmp.l a0,d1
- blt.s .End
- sub.l a0,d1
- beq.s .GetIt
- .Loop tst.b (a0)+
- bne.s .Ok
- addq.l #1,d0
- .Ok subq.l #1,d1
- bne.s .Loop
-
- .GetIt move.l MyCatalog,a0
- RELLIB GetCatalogStr,_LocaleBase
- move.l d0,24(sp)
- .End movem.l (sp)+,d0-d1/a0-a1/a6
- rts
-
-
-
-
-
- **********************************************************************
- * Convert a char to uppercase using Locale or Util *
- **********************************************************************
- GetUpperCase movem.l d1-d7/a0-a6,-(sp)
- move.l ZeroBase(pc),a4
- cmp.l #48,d0
- blt.s .NormChar
- cmp.l #57,d0
- bgt.s .NormChar
- lea ConvTable(pc),a0
- sub.w #48,d0
- moveq #0,d1
- move.b 0(a0,d0),d1
- move.l d1,d0
- .NormChar tst.l MyLocale
- beq.s .UseUtil
- move.l MyLocale,a0
- RELLIB ConvToUpper,_LocaleBase
- bra.s .End
- .UseUtil RELLIB ToUpper,_UtilityBase
- .End movem.l (sp)+,d1-d7/a0-a6
- rts
- ConvTable dc.b "=","!",'"',"§","$","%","&","/","(",")"
- EVEN
-
-
- **********************************************************************
- * Variables *
- **********************************************************************
- ClearStr dc.b $9B,$30,$20,$70
- ClearStrLen EQU *-ClearStr
- EndAnyStr dc.b $9B,$20,$70,$9b,$4b,$9B,"0;39;49m",0
- EndAnyStrLen EQU *-EndAnyStr
-
-
- _SysBase dc.l 0
- _CxBase dc.l 0
- ZeroBase dc.l 0
- StrEditHook ds.b h_SIZEOF
- EVEN
-
-
-
-
- **********************************************************************
- * AutoRequester-Texts *
- **********************************************************************
- Only20ITxt dc.b 0,1
- dc.b RP_JAM1
- dc.b 0
- dc.w 10,10
- dc.l 0
- dc.l Only20Txt
- dc.l 0
- OkITxt dc.b 2,1
- dc.b RP_JAM1
- dc.b 0
- dc.w 6,3
- dc.l 0
- dc.l OkTxt
- dc.l 0
- OkTxt dc.b "OK",0
- Only20Txt dc.b "KCommodity still only runs under OS 2.x !",10,0
- Only20TxtEnd
- EVEN
-
-
-
- **********************************************************************
- * Easy-Requeststructure *
- **********************************************************************
- MyEasyRequest dc.l es_SIZEOF
- dc.l 0
- dc.l 0
- dc.l 0
- dc.l 0
- EasyGadget dc.b "OK",0
- EVEN
-
-
- **********************************************************************
- * Some defines fo easy customization *
- **********************************************************************
- MAINWINIDCMP EQU BUTTONIDCMP!IDCMP_GADGETDOWN!IDCMP_MENUPICK!IDCMP_CLOSEWINDOW!IDCMP_RAWKEY!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW
- SETWINIDCMP EQU CHECKBOXIDCMP!IDCMP_CLOSEWINDOW!IDCMP_RAWKEY!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW!IDCMP_REFRESHWINDOW
- MISCWINIDCMP EQU CHECKBOXIDCMP!SLIDERIDCMP!BUTTONIDCMP!TEXTIDCMP!STRINGIDCMP!IDCMP_CLOSEWINDOW!IDCMP_RAWKEY!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW
- ALARMWINIDCMP EQU CHECKBOXIDCMP!SLIDERIDCMP!CYCLEIDCMP!BUTTONIDCMP!TEXTIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW
- QUALWINIDCMP EQU TEXTIDCMP!BUTTONIDCMP!IDCMP_CLOSEWINDOW!IDCMP_REFRESHWINDOW!IDCMP_RAWKEY!IDCMP_MOUSEBUTTONS!IDCMP_CHANGEWINDOW
- CYCLEWINIDCMP EQU CHECKBOXIDCMP!SLIDERIDCMP!BUTTONIDCMP!TEXTIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW
- BLANKWINIDCMP EQU CHECKBOXIDCMP!SLIDERIDCMP!CYCLEIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW
- CLOCKDEFWINIDCMP EQU SLIDERIDCMP!CHECKBOXIDCMP!CYCLEIDCMP!PALETTEIDCMP!IDCMP_CLOSEWINDOW!IDCMP_RAWKEY!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW!IDCMP_REFRESHWINDOW
- MOUSEWINIDCMP EQU CHECKBOXIDCMP!SLIDERIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW
- HOTKEYWINIDCMP EQU LISTVIEWIDCMP!STRINGIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW
- FKEYWINIDCMP EQU STRINGIDCMP!CYCLEIDCMP!CHECKBOXIDCMP!BUTTONIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW!IDCMP_ACTIVEWINDOW
- FORMWINIDCMP EQU CYCLEIDCMP!STRINGIDCMP!CHECKBOXIDCMP!BUTTONIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW!IDCMP_ACTIVEWINDOW
- PREFSWINIDCMP EQU INTEGERIDCMP!SLIDERIDCMP!CHECKBOXIDCMP!BUTTONIDCMP!STRINGIDCMP!TEXTIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW
- LOCKWINIDCMP EQU BUTTONIDCMP!STRINGIDCMP!LISTVIEWIDCMP!BUTTONIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW
- TASKWINIDCMP EQU LISTVIEWIDCMP!IDCMP_CLOSEWINDOW!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW!IDCMP_REFRESHWINDOW
- TAGSCRWINIDCMP EQU TEXTIDCMP!CHECKBOXIDCMP!INTEGERIDCMP!BUTTONIDCMP!STRINGIDCMP!LISTVIEWIDCMP!IDCMP_CLOSEWINDOW!IDCMP_RAWKEY!IDCMP_VANILLAKEY!IDCMP_CHANGEWINDOW!IDCMP_REFRESHWINDOW
-
-
- **********************************************************************
- * Definitions for the main window *
- **********************************************************************
- MainWinWindowTags:
- MainWinL:
- DC.L WA_Left,0
- MainWinT:
- DC.L WA_Top,0
- MainWinW:
- DC.L WA_Width,0
- MainWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- MainWinWG:
- DC.L WA_Gadgets,0
- Zero1 DC.L WA_Title,ControlTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- MainWinSC:
- DC.L WA_PubScreen,0
- DC.L WA_NewLookMenus,1
- DC.L TAG_DONE
-
-
- MainWinMenuDef:
- DC.B NM_TITLE,0
- DC.L MainWinDefMName0
- DC.L 0
- DC.W 0
- DC.L 0,0
-
- DC.B NM_ITEM,0
- DC.L MainWinDefMName1
- DC.L MainWinDefMComm1
- DC.W 0
- DC.L 0,DoublePrefs
-
- DC.B NM_ITEM,0
- DC.L NM_BARLABEL,0
- DC.W 0
- DC.L 0,0
-
- DC.B NM_ITEM,0
- DC.L MainWinDefMName3
- DC.L MainWinDefMComm3
- DC.W 0
- DC.L 0,DisplayAbout
-
- DC.B NM_END,0
- DC.L 0,0
- DC.W 0
- DC.L 0,0
-
- MainMenuTags
- DC.L GTMN_NewLookMenus,1
- DC.L TAG_DONE
-
-
- MainWinGTypes:
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
-
- MainWinNGads:
- DC.W 9,6,176,12
- DC.L SettingsText,0
- DC.W GD_Settings
- DC.L PLACETEXT_IN,0,0
- DC.W 189,6,176,12
- DC.L MiscText,0
- DC.W GD_Misc
- DC.L PLACETEXT_IN,0,0
- DC.W 9,22,176,12
- DC.L BlankingText,0
- DC.W GD_Blanking
- DC.L PLACETEXT_IN,0,0
- DC.W 189,22,176,12
- DC.L CyclingText,0
- DC.W GD_Cycling
- DC.L PLACETEXT_IN,0,0
- DC.W 9,38,176,12
- DC.L MouseText,0
- DC.W GD_Mouse
- DC.L PLACETEXT_IN,0,0
- DC.W 189,38,176,12
- DC.L HotKeyText,0
- DC.W GD_HotKey
- DC.L PLACETEXT_IN,0,0
- DC.W 9,54,176,12
- DC.L FKeyText,0
- DC.W GD_FKey
- DC.L PLACETEXT_IN,0,0
- DC.W 369,54,176,12
- DC.L FormatText,0
- DC.W GD_Format
- DC.L PLACETEXT_IN,0,0
- DC.W 369,70,176,12
- DC.L BillWinText,0
- DC.W GD_BillWin
- DC.L PLACETEXT_IN,0,0
- DC.W 9,70,176,12
- DC.L BillPrefsText,0
- DC.W GD_BillPrefs
- DC.L PLACETEXT_IN,0,0
- DC.W 9,93,176,12
- DC.L LoadPrefsText,0
- DC.W GD_LoadPrefs
- DC.L PLACETEXT_IN,0,0
- DC.W 189,93,176,12
- DC.L SavePrefsText,0
- DC.W GD_SavePrefs
- DC.L PLACETEXT_IN,0,0
- DC.W 369,93,176,12
- DC.L RemoveGadText,0
- DC.W GD_RemoveGad
- DC.L PLACETEXT_IN,0,0
- DC.W 9,109,176,12
- DC.L EnableText,0
- DC.W GD_Enable
- DC.L PLACETEXT_IN,0,0
- DC.W 189,109,176,12
- DC.L DisableText,0
- DC.W GD_Disable
- DC.L PLACETEXT_IN,0,0
- DC.W 369,109,176,12
- DC.L QuitText,0
- DC.W GD_Quit
- DC.L PLACETEXT_IN,0,0
- DC.W 189,70,176,12
- DC.L AlarmText,0
- DC.W GD_Alarm
- DC.L PLACETEXT_IN,0,0
- DC.W 369,6,176,12
- DC.L ClockDefText,0
- DC.W GD_ClockDef
- DC.L PLACETEXT_IN,0,0
- DC.W 369,38,176,12
- DC.L HardCopyText,0
- DC.W GD_HardCopy
- DC.L PLACETEXT_IN,0,0
- DC.W 189,54,176,12
- DC.L LockWinsText,0
- DC.W GD_LockWins
- DC.L PLACETEXT_IN,0,0
- DC.W 369,22,176,12
- DC.L TagScreensText,0
- DC.W GD_TagScreens
- DC.L PLACETEXT_IN,0,0
-
- MainWinGTags:
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- BackProcThere1
- DC.L GA_Disabled,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- BackProcThere2
- DC.L GA_Disabled,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- BackProcThere3
- DC.L GA_Disabled,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- BackProcThere5
- DC.L GA_Disabled,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- BackProcThere6
- DC.L GA_Disabled,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- BackProcThere4
- DC.L GA_Disabled,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
-
-
-
- GD_Settings EQU 0
- GD_Misc EQU 1
- GD_Blanking EQU 2
- GD_Cycling EQU 3
- GD_Mouse EQU 4
- GD_HotKey EQU 5
- GD_FKey EQU 6
- GD_Format EQU 7
- GD_BillWin EQU 8
- GD_BillPrefs EQU 9
- GD_LoadPrefs EQU 10
- GD_SavePrefs EQU 11
- GD_RemoveGad EQU 12
- GD_Enable EQU 13
- GD_Disable EQU 14
- GD_Quit EQU 15
- GD_Alarm EQU 16
- GD_ClockDef EQU 17
- GD_HardCopy EQU 18
- GD_LockWins EQU 19
- GD_TagScreens EQU 20
-
-
-
- **********************************************************************
- * Defines for settings window *
- **********************************************************************
- SetWinWindowTags:
- SetWinL:
- DC.L WA_Left,0
- SetWinT:
- DC.L WA_Top,0
- SetWinW:
- DC.L WA_Width,0
- SetWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- SetWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,SetTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- SetWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
- SetWinGTypes:
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
-
-
- SetWinNGads:
- DC.W 196,2,26,11
- DC.L WriteEnvText,0
- DC.W GD_WriteEnv
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 196,17,26,11
- DC.L WBFrontText,0
- DC.W GD_WBFront
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 392,2,26,11
- DC.L MapUmlautsText,0
- DC.W GD_MapUmlauts
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 7,2,26,11
- DC.L MMBShiftText,0
- DC.W GD_MMBShift
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 7,17,26,11
- DC.L NoClickText,0
- DC.W GD_NoClick
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 7,32,26,11
- DC.L NoDisplayBeepText,0
- DC.W GD_NoDisplayBeep
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 392,17,26,11
- DC.L MenuWrapText,0
- DC.W GD_MenuWrap
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 392,32,26,11
- DC.L StringMenuText,0
- DC.W GD_StringMenu
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 196,32,26,11
- DC.L AvoidFlickerText,0
- DC.W GD_AvoidFlicker
- DC.L PLACETEXT_RIGHT,0,0
-
- SetWinGTags:
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
- GD_WriteEnv EQU 0
- GD_WBFront EQU 1
- GD_MapUmlauts EQU 2
- GD_MMBShift EQU 3
- GD_NoClick EQU 4
- GD_NoDisplayBeep EQU 5
- GD_MenuWrap EQU 6
- GD_StringMenu EQU 7
- GD_AvoidFlicker EQU 8
-
-
-
-
-
-
- **********************************************************************
- * Defines for Misc-window *
- **********************************************************************
- MiscWinWindowTags:
- MiscWinL:
- DC.L WA_Left,0
- MiscWinT:
- DC.L WA_Top,0
- MiscWinW:
- DC.L WA_Width,0
- MiscWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- MiscWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,MiscTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- MiscWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
- MiscWinGTypes:
- DC.W CHECKBOX_KIND
- DC.W BUTTON_KIND
- DC.W TEXT_KIND
- DC.W CHECKBOX_KIND
- DC.W SLIDER_KIND
- DC.W STRING_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W SLIDER_KIND
- DC.W SLIDER_KIND
- DC.W SLIDER_KIND
- DC.W CHECKBOX_KIND
- DC.W BUTTON_KIND
- DC.W TEXT_KIND
- DC.W SLIDER_KIND
- DC.W CHECKBOX_KIND
- DC.W CYCLE_KIND
-
- MiscWinNGads:
- DC.W 10,18,26,11
- DC.L ESCCloseText,0
- DC.W GD_ESCClose
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 231,18,142,12
- DC.L ESCQualText,0
- DC.W GD_ESCQual
- DC.L PLACETEXT_IN,0,0
- DC.W 377,18,190,12
- DC.L 0,0
- DC.W GD_ESCQualTxt
- DC.L 0,0,0
- DC.W 10,3,26,11
- DC.L KeyClickText,0
- DC.W GD_KeyClick
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 389,3,178,11
- DC.L ClickVolText,0
- DC.W GD_ClickVol
- DC.L PLACETEXT_LEFT,0,0
- DC.W 210,49,357,13
- DC.L UserShellText,0
- DC.W GD_UserShell
- DC.L PLACETEXT_LEFT,0,0
- DC.W 10,84,26,11
- DC.L ExpWindowsText,0
- DC.W GD_ExpWindows
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 218,84,26,11
- DC.L MouseCtrText,0
- DC.W GD_MouseCtr
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 37,110,102,10
- DC.L ExpFramesText,0
- DC.W GD_ExpFrames
- DC.L PLACETEXT_ABOVE,0,0
- DC.W 179,110,102,10
- DC.L ImpFramesText,0
- DC.W GD_ImpFrames
- DC.L PLACETEXT_ABOVE,0,0
- DC.W 321,110,102,10
- DC.L SizeFramesText,0
- DC.W GD_SizeFrames
- DC.L PLACETEXT_ABOVE,0,0
- DC.W 10,33,26,11
- DC.L FullDragText,0
- DC.W GD_FullDrag
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 192,33,181,12
- DC.L DragQualText,0
- DC.W GD_DragQual
- DC.L PLACETEXT_IN,0,0
- DC.W 377,33,190,12
- DC.L 0,0
- DC.W GD_DragQualTxt
- DC.L 0,0,0
- DC.W 465,110,102,10
- DC.L MoveFramesText,0
- DC.W GD_MoveFrames
- DC.L PLACETEXT_ABOVE,0,0
- DC.W 10,66,26,11
- DC.L AltModeText,0
- DC.W GD_AltMode
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 210,66,131,13
- DC.L AltQualText,0
- DC.W GD_AltQual
- DC.L PLACETEXT_RIGHT,0,0
-
- MiscWinGTags:
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Min,1
- DC.L GTSL_Max,64
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,ScrDimmFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L STRINGA_ExitHelp,1
- Zero2 DC.L GTST_String,SystemComm
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Max,64
- DC.L GTSL_Level,25
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,ScrDimmFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Max,64
- DC.L GTSL_Level,25
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,ScrDimmFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Max,64
- DC.L GTSL_Level,25
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,ScrDimmFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GTSL_Max,64
- DC.L GTSL_Level,25
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,ScrDimmFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCY_Labels,AltQualLabels
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
- AltQualLabels:
- DC.L AltQualLab0
- DC.L AltQualLab1
- DC.L 0
-
-
-
-
-
- GD_ESCClose EQU 0
- GD_ESCQual EQU 1
- GD_ESCQualTxt EQU 2
- GD_KeyClick EQU 3
- GD_ClickVol EQU 4
- GD_UserShell EQU 5
- GD_ExpWindows EQU 6
- GD_MouseCtr EQU 7
- GD_ExpFrames EQU 8
- GD_ImpFrames EQU 9
- GD_SizeFrames EQU 10
- GD_FullDrag EQU 11
- GD_DragQual EQU 12
- GD_DragQualTxt EQU 13
- GD_MoveFrames EQU 14
- GD_AltMode EQU 15
- GD_AltQual EQU 16
-
-
-
-
-
- **********************************************************************
- * Settings for alarm modes window *
- **********************************************************************
- AlarmWinWindowTags:
- AlarmWinL:
- DC.L WA_Left,0
- AlarmWinT:
- DC.L WA_Top,0
- AlarmWinW:
- DC.L WA_Width,0
- AlarmWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- AlarmWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,AlarmTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- AlarmWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
-
- AlarmWinGTypes:
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W SLIDER_KIND
- DC.W CYCLE_KIND
- DC.W BUTTON_KIND
- DC.W TEXT_KIND
- DC.W BUTTON_KIND
-
- AlarmWinNGads:
- DC.W 6,3,26,11
- DC.L AlarmOnText,0
- DC.W GD_AlarmOn
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 158,3,26,11
- DC.L AllHoursText,0
- DC.W GD_AllHours
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 318,3,26,11
- DC.L ShowAlarmText,0
- DC.W GD_ShowAlarm
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 253,18,225,11
- DC.L AlarmTimeText,0
- DC.W GD_AlarmTime
- DC.L PLACETEXT_LEFT,0,0
- DC.W 141,33,149,13
- DC.L AlSoundTypeText,0
- DC.W GD_AlSoundType
- DC.L PLACETEXT_LEFT,0,0
- DC.W 298,33,180,13
- DC.L AlarmSampleText,0
- DC.W GD_AlarmSample
- DC.L PLACETEXT_IN,0,0
- DC.W 141,50,337,12
- DC.L SampleNameText,0
- DC.W GD_SampleName
- DC.L PLACETEXT_LEFT,0,0
- DC.W 141,64,337,12
- DC.L TestSampleText,0
- DC.W GD_TestSample
- DC.L PLACETEXT_IN,0,0
-
- AlarmWinGTags:
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Max,1439
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,StringFormat
- DC.L GTSL_DispFunc,ShowAlarm
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCY_Labels,AlSoundTypeLabels
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
-
- AlSoundTypeLabels:
- DC.L AlSoundTypeLab0
- DC.L AlSoundTypeLab1
- DC.L 0
-
- GD_AlarmOn EQU 0
- GD_AllHours EQU 1
- GD_ShowAlarm EQU 2
- GD_AlarmTime EQU 3
- GD_AlSoundType EQU 4
- GD_AlarmSample EQU 5
- GD_SampleName EQU 6
- GD_TestSample EQU 7
-
-
-
-
- **********************************************************************
- * Settings for qualifier window *
- **********************************************************************
- QualWinWindowTags:
- QualWinL:
- DC.L WA_Left,0
- QualWinT:
- DC.L WA_Top,0
- QualWinW:
- DC.L WA_Width,0
- QualWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE!WFLG_RMBTRAP
- QualWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,QualTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- QualWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
- QualWinGTypes:
- DC.W TEXT_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
-
- QualWinNGads:
- DC.W 5,4,412,13
- DC.L 0,0
- DC.W GD_QualTxt
- DC.L 0,0,0
- DC.W 5,21,67,12
- DC.L OkText,0
- DC.W GD_Ok
- DC.L PLACETEXT_IN,0,0
- DC.W 350,21,67,12
- DC.L CancelText,0
- DC.W GD_Cancel
- DC.L PLACETEXT_IN,0,0
-
- QualWinGTags:
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
- GD_QualTxt EQU 0
- GD_Ok EQU 1
- GD_Cancel EQU 2
-
-
-
-
- **********************************************************************
- * Settings for cycle window *
- **********************************************************************
- CycleWinWindowTags:
- CycleWinL:
- DC.L WA_Left,0
- CycleWinT:
- DC.L WA_Top,0
- CycleWinW:
- DC.L WA_Width,0
- CycleWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- CycleWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,CycleTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- CycleWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
- CycleWinGTypes:
- DC.W CHECKBOX_KIND
- DC.W SLIDER_KIND
- DC.W SLIDER_KIND
- DC.W SLIDER_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W TEXT_KIND
- DC.W TEXT_KIND
- DC.W TEXT_KIND
-
- CycleWinNGads:
- DC.W 5,3,26,11
- DC.L CycleOnText,0
- DC.W GD_CycleOn
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 23,32,105,11
- DC.L FrontClickText,0
- DC.W GD_FrontClick
- DC.L PLACETEXT_ABOVE,0,0
- DC.W 169,32,105,11
- DC.L MiddleClickText,0
- DC.W GD_MiddleClick
- DC.L PLACETEXT_ABOVE,0,0
- DC.W 315,32,105,11
- DC.L BackClickText,0
- DC.W GD_BackClick
- DC.L PLACETEXT_ABOVE,0,0
- DC.W 5,47,112,12
- DC.L FrontKeyText,0
- DC.W GD_FrontKey
- DC.L PLACETEXT_IN,0,0
- DC.W 5,63,112,12
- DC.L MiddleKeyText,0
- DC.W GD_MiddleKey
- DC.L PLACETEXT_IN,0,0
- DC.W 5,79,112,12
- DC.L BackKeyText,0
- DC.W GD_BackKey
- DC.L PLACETEXT_IN,0,0
- DC.W 121,47,299,12
- DC.L 0,0
- DC.W GD_FrontQual
- DC.L 0,0,0
- DC.W 121,63,299,12
- DC.L 0,0
- DC.W GD_MiddleQual
- DC.L 0,0,0
- DC.W 121,79,299,12
- DC.L 0,0
- DC.W GD_BackQual
- DC.L 0,0,0
-
- CycleWinGTags:
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Min,1
- DC.L GTSL_Max,5
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,LIntFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Min,1
- DC.L GTSL_Max,5
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,LIntFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Min,1
- DC.L GTSL_Max,5
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,LIntFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
-
-
- GD_CycleOn EQU 0
- GD_FrontClick EQU 1
- GD_MiddleClick EQU 2
- GD_BackClick EQU 3
- GD_FrontKey EQU 4
- GD_MiddleKey EQU 5
- GD_BackKey EQU 6
- GD_FrontQual EQU 7
- GD_MiddleQual EQU 8
- GD_BackQual EQU 9
-
-
-
-
-
- **********************************************************************
- * Settings for Blanking window *
- **********************************************************************
- BlankWinWindowTags:
- BlankWinL:
- DC.L WA_Left,0
- BlankWinT:
- DC.L WA_Top,0
- BlankWinW:
- DC.L WA_Width,0
- BlankWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- BlankWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,BlankTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- BlankWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
-
- BlankWinGTypes:
- DC.W CHECKBOX_KIND
- DC.W SLIDER_KIND
- DC.W SLIDER_KIND
- DC.W CYCLE_KIND
- DC.W SLIDER_KIND
-
- BlankWinNGads:
- DC.W 7,3,26,11
- DC.L BlankMouseText,0
- DC.W GD_BlankMouse
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 217,18,126,11
- DC.L ScrTimeText,0
- DC.W GD_ScrTime
- DC.L PLACETEXT_LEFT,0,0
- DC.W 217,33,126,11
- DC.L MouseTimeText,0
- DC.W GD_MouseTime
- DC.L PLACETEXT_LEFT,0,0
- DC.W 195,48,148,12
- DC.L BlankTypeText,0
- DC.W GD_BlankType
- DC.L PLACETEXT_LEFT,0,0
- DC.W 195,64,148,11
- DC.L DimmFacText,0
- DC.W GD_DimmFac
- DC.L PLACETEXT_LEFT,0,0
-
-
- BlankWinGTags:
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Max,1800
- DC.L GTSL_MaxLevelLen,9
- DC.L GTSL_LevelFormat,StringFormat
- DC.L GTSL_DispFunc,ShowAlarm
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Max,1800
- DC.L GTSL_MaxLevelLen,9
- DC.L GTSL_LevelFormat,StringFormat
- DC.L GTSL_DispFunc,ShowAlarm
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCY_Labels,BlankTypeLabels
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Min,1
- DC.L GTSL_Max,48
- DC.L GTSL_MaxLevelLen,7
- DC.L GTSL_LevelFormat,ScrDimmFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
-
- BlankTypeLabels:
- DC.L BlankTypeLab0
- DC.L BlankTypeLab1
- DC.L 0
-
-
- GD_BlankMouse EQU 0
- GD_ScrTime EQU 1
- GD_MouseTime EQU 2
- GD_BlankType EQU 3
- GD_DimmFac EQU 4
-
-
-
-
-
-
-
-
-
- **********************************************************************
- * Settings for Mouse window *
- **********************************************************************
- MouseWinWindowTags:
- MouseWinL:
- DC.L WA_Left,0
- MouseWinT:
- DC.L WA_Top,0
- MouseWinW:
- DC.L WA_Width,0
- MouseWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- MouseWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,MouseTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- MouseWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
- MouseWinGTypes:
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W SLIDER_KIND
- DC.W SLIDER_KIND
- DC.W TEXT_KIND
- DC.W TEXT_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
-
- MouseWinNGads:
- DC.W 182,3,26,11
- DC.L WindowActText,0
- DC.W GD_WindowAct
- DC.L PLACETEXT_LEFT,0,0
- DC.W 324,3,26,11
- DC.L SunMouseText,0
- DC.W GD_SunMouse
- DC.L PLACETEXT_LEFT,0,0
- DC.W 532,3,26,11
- DC.L MouseAccelText,0
- DC.W GD_MouseAccel
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,32,87,11
- DC.L AccelerateText,0
- DC.W GD_Accelerate
- DC.L PLACETEXT_LEFT,0,0
- DC.W 471,32,87,11
- DC.L ThresholdText,0
- DC.W GD_Threshold
- DC.L PLACETEXT_LEFT,0,0
- DC.W 216,60,342,12
- DC.L 0,0
- DC.W GD_HoldX
- DC.L 0,0,0
- DC.W 216,75,342,12
- DC.L 0,0
- DC.W GD_HoldY
- DC.L 0,0,0
- DC.W 6,60,207,12
- DC.L HoldXQualText,0
- DC.W GD_HoldXQual
- DC.L PLACETEXT_IN,0,0
- DC.W 6,75,207,12
- DC.L HoldYQualText,0
- DC.W GD_HoldYQual
- DC.L PLACETEXT_IN,0,0
- DC.W 6,47,26,11
- DC.L LeftyText,0
- DC.W GD_Lefty
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 532,47,26,11
- DC.L HoldMouseText,0
- DC.W GD_HoldMouse
- DC.L PLACETEXT_LEFT,0,0
- DC.W 324,18,26,11
- DC.L WinReActText,0
- DC.W GD_WinReAct
- DC.L PLACETEXT_LEFT,0,0
-
- MouseWinGTags:
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Min,2
- DC.L GTSL_Max,10
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,ScrDimmFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Max,10
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,ScrDimmFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
-
- GD_WindowAct EQU 0
- GD_SunMouse EQU 1
- GD_MouseAccel EQU 2
- GD_Accelerate EQU 3
- GD_Threshold EQU 4
- GD_HoldX EQU 5
- GD_HoldY EQU 6
- GD_HoldXQual EQU 7
- GD_HoldYQual EQU 8
- GD_Lefty EQU 9
- GD_HoldMouse EQU 10
- GD_WinReAct EQU 11
-
-
-
-
- **********************************************************************
- * Settings for HotKeys window *
- **********************************************************************
- HotKeyWinWindowTags:
- HotKeyWinL:
- DC.L WA_Left,0
- HotKeyWinT:
- DC.L WA_Top,0
- HotKeyWinW:
- DC.L WA_Width,0
- HotKeyWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- HotKeyWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,HotKeyTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- HotKeyWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
- HotKeyWinGTypes:
- DC.W LISTVIEW_KIND
- DC.W STRING_KIND
-
-
- HotKeyWinNGads:
- DC.W 99,3,246,88
- DC.L HotKeyListText,0
- DC.W GD_HotKeyList
- DC.L PLACETEXT_LEFT,0,0
- DC.W 97,93,248,13
- DC.L HotKeyDefText,0
- DC.W GD_HotKeyDef
- DC.L PLACETEXT_LEFT,0,0
-
-
- HotKeyWinGTags:
- DC.L GTLV_Labels,HotKeyListList
- DC.L GTLV_ShowSelected,0
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L GA_Disabled,1
- DC.L TAG_DONE
-
-
- HotKeyListNodes0:
- DC.L HotKeyListNodes1
- DC.L HotKeyListList
- DC.B 0,0
- DC.L HotKeyListName0
- HotKeyListNodes1:
- DC.L HotKeyListNodes2
- DC.L HotKeyListNodes0
- DC.B 0,0
- DC.L HotKeyListName1
- HotKeyListNodes2:
- DC.L HotKeyListNodes3
- DC.L HotKeyListNodes1
- DC.B 0,0
- DC.L HotKeyListName2
- HotKeyListNodes3:
- DC.L HotKeyListNodes4
- DC.L HotKeyListNodes2
- DC.B 0,0
- DC.L HotKeyListName3
- HotKeyListNodes4:
- DC.L HotKeyListNodes5
- DC.L HotKeyListNodes3
- DC.B 0,0
- DC.L HotKeyListName4
- HotKeyListNodes5:
- DC.L HotKeyListNodes6
- DC.L HotKeyListNodes4
- DC.B 0,0
- DC.L HotKeyListName5
- HotKeyListNodes6:
- DC.L HotKeyListNodes7
- DC.L HotKeyListNodes5
- DC.B 0,0
- DC.L HotKeyListName6
- HotKeyListNodes7:
- DC.L HotKeyListNodes8
- DC.L HotKeyListNodes6
- DC.B 0,0
- DC.L HotKeyListName7
- HotKeyListNodes8:
- DC.L HotKeyListNodes9
- DC.L HotKeyListNodes7
- DC.B 0,0
- DC.L HotKeyListName8
- HotKeyListNodes9:
- DC.L HotKeyListNodes10
- DC.L HotKeyListNodes8
- DC.B 0,0
- DC.L HotKeyListName9
- HotKeyListNodes10:
- DC.L HotKeyListNodes11
- DC.L HotKeyListNodes9
- DC.B 0,0
- DC.L HotKeyListName10
- HotKeyListNodes11:
- DC.L HotKeyListNodes12
- DC.L HotKeyListNodes10
- DC.B 0,0
- DC.L HotKeyListName11
- HotKeyListNodes12:
- DC.L HotKeyListNodes13
- DC.L HotKeyListNodes11
- DC.B 0,0
- DC.L HotKeyListName12
- HotKeyListNodes13:
- DC.L HotKeyListList+4
- DC.L HotKeyListNodes12
- DC.B 0,0
- DC.L HotKeyListName13
- HotKeyListList:
- DC.L HotKeyListNodes0,0,HotKeyListNodes13
-
-
- GD_HotKeyList EQU 0
- GD_HotKeyDef EQU 1
-
-
-
-
-
-
- **********************************************************************
- * FKeys window settings *
- **********************************************************************
- FKeyWinWindowTags:
- FKeyWinL:
- DC.L WA_Left,0
- FKeyWinT:
- DC.L WA_Top,0
- FKeyWinW:
- DC.L WA_Width,0
- FKeyWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- FKeyWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,FKeyTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- FKeyWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
- FKeyWinGTypes:
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W CYCLE_KIND
- DC.W CHECKBOX_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
-
- FKeyWinNGads:
- DC.W 36,2,322,12
- DC.L F1Text,0
- DC.W GD_F1
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,16,322,12
- DC.L F2Text,0
- DC.W GD_F2
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,30,322,12
- DC.L F3Text,0
- DC.W GD_F3
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,44,322,12
- DC.L F4Text,0
- DC.W GD_F4
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,58,322,12
- DC.L F5Text,0
- DC.W GD_F5
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,72,322,12
- DC.L F6Text,0
- DC.W GD_F6
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,86,322,12
- DC.L F7Text,0
- DC.W GD_F7
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,100,322,12
- DC.L F8Text,0
- DC.W GD_F8
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,114,322,12
- DC.L F9Text,0
- DC.W GD_F9
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,128,322,12
- DC.L F10Text,0
- DC.W GD_F10
- DC.L PLACETEXT_LEFT,0,0
- DC.W 116,144,109,12
- DC.L FKeyQualText,0
- DC.W GD_FKeyQual
- DC.L PLACETEXT_LEFT,0,0
- DC.W 332,144,26,11
- DC.L FKeyActText,0
- DC.W GD_FKeyAct
- DC.L PLACETEXT_LEFT,0,0
- DC.W 36,160,82,12
- DC.L FKeyOkText,0
- DC.W GD_FKeyOk
- DC.L PLACETEXT_IN,0,0
- DC.W 276,160,82,12
- DC.L FKeyCancelText,0
- DC.W GD_FKeyCancel
- DC.L PLACETEXT_IN,0,0
-
- FKeyWinGTags:
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCY_Labels,FKeyQualLabels
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
- FKeyQualLabels:
- DC.L FKeyQualLab0
- DC.L FKeyQualLab1
- DC.L FKeyQualLab2
- DC.L FKeyQualLab3
- DC.L 0
-
- FKeyQualFlags dc.w 0,0
- dc.w IEQUALIFIER_LSHIFT,IEQUALIFIER_RSHIFT
- dc.w IEQUALIFIER_LALT,IEQUALIFIER_RALT
- dc.w IEQUALIFIER_CONTROL,-1
-
-
- GD_F1 EQU 0
- GD_F2 EQU 1
- GD_F3 EQU 2
- GD_F4 EQU 3
- GD_F5 EQU 4
- GD_F6 EQU 5
- GD_F7 EQU 6
- GD_F8 EQU 7
- GD_F9 EQU 8
- GD_F10 EQU 9
- GD_FKeyQual EQU 10
- GD_FKeyAct EQU 11
- GD_FKeyOk EQU 12
- GD_FKeyCancel EQU 13
-
-
-
-
-
- **********************************************************************
- * Settings for Preferences window *
- **********************************************************************
- PrefsWinWindowTags:
- PrefsWinL:
- DC.L WA_Left,0
- PrefsWinT:
- DC.L WA_Top,0
- PrefsWinW:
- DC.L WA_Width,0
- PrefsWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- PrefsWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,PrefsTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- PrefsWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
- PrefsWinGTypes:
- DC.W INTEGER_KIND
- DC.W INTEGER_KIND
- DC.W INTEGER_KIND
- DC.W INTEGER_KIND
- DC.W INTEGER_KIND
- DC.W INTEGER_KIND
- DC.W INTEGER_KIND
- DC.W SLIDER_KIND
- DC.W SLIDER_KIND
- DC.W CHECKBOX_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W STRING_KIND
- DC.W BUTTON_KIND
- DC.W STRING_KIND
- DC.W TEXT_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
-
- PrefsWinNGads:
- DC.W 104,3,52,13
- DC.L Normal1Text,0
- DC.W GD_Normal1
- DC.L PLACETEXT_LEFT,0,0
- DC.W 271,3,52,13
- DC.L Cheap1Text,0
- DC.W GD_Cheap1
- DC.L PLACETEXT_LEFT,0,0
- DC.W 104,20,52,13
- DC.L Normal2Text,0
- DC.W GD_Normal2
- DC.L PLACETEXT_LEFT,0,0
- DC.W 271,20,52,13
- DC.L Cheap2Text,0
- DC.W GD_Cheap2
- DC.L PLACETEXT_LEFT,0,0
- DC.W 104,37,52,13
- DC.L Normal3Text,0
- DC.W GD_Normal3
- DC.L PLACETEXT_LEFT,0,0
- DC.W 271,37,52,13
- DC.L Cheap3Text,0
- DC.W GD_Cheap3
- DC.L PLACETEXT_LEFT,0,0
- DC.W 171,54,52,13
- DC.L CostUnitText,0
- DC.W GD_CostUnit
- DC.L PLACETEXT_LEFT,0,0
- DC.W 233,71,90,11
- DC.L StartNormText,0
- DC.W GD_StartNorm
- DC.L PLACETEXT_LEFT,0,0
- DC.W 233,86,90,11
- DC.L StartCheapText,0
- DC.W GD_StartCheap
- DC.L PLACETEXT_LEFT,0,0
- DC.W 22,101,26,11
- DC.L PopUpBillText,0
- DC.W GD_PopUpBill
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 22,131,121,12
- DC.L ClearLogText,0
- DC.W GD_ClearLog
- DC.L PLACETEXT_IN,0,0
- DC.W 147,131,176,12
- DC.L TotalSumText,0
- DC.W GD_TotalSum
- DC.L PLACETEXT_IN,0,0
- DC.W 166,147,157,13
- DC.L OpenBillText,0
- DC.W GD_OpenBill
- DC.L PLACETEXT_LEFT,0,0
- DC.W 22,164,157,12
- DC.L SaveLogText,0
- DC.W GD_SaveLog
- DC.L PLACETEXT_IN,0,0
- DC.W 182,163,141,14
- DC.L LogNameText,0
- DC.W GD_LogName
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 333,3,121,12
- DC.L 0,0
- DC.W GD_EverCheap
- DC.L 0,0,0
- DC.W 333,19,26,11
- DC.L SundayText,0
- DC.W GD_Sunday
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 333,34,26,11
- DC.L MondayText,0
- DC.W GD_Monday
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 333,49,26,11
- DC.L TuesdayText,0
- DC.W GD_Tuesday
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 333,64,26,11
- DC.L WednesdayText,0
- DC.W GD_Wednesday
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 333,79,26,11
- DC.L ThursdayText,0
- DC.W GD_Thursday
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 333,94,26,11
- DC.L FridayText,0
- DC.W GD_Friday
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 333,109,26,11
- DC.L SaturdayText,0
- DC.W GD_Saturday
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 22,116,26,11
- DC.L ActiveBillText,0
- DC.W GD_ActiveBill
- DC.L PLACETEXT_RIGHT,0,0
-
-
- PrefsWinGTags:
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,4
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,4
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,4
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,4
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,4
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,4
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,4
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Max,143
- DC.L GTSL_MaxLevelLen,9
- DC.L GTSL_LevelFormat,StringFormat
- DC.L GTSL_DispFunc,ShowTime
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Max,143
- DC.L GTSL_MaxLevelLen,9
- DC.L GTSL_LevelFormat,StringFormat
- DC.L GTSL_DispFunc,ShowTime
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,256
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTST_EditHook,StrEditHook
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,300
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTTX_Text,EverCheapString
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
-
- GD_Normal1 EQU 0
- GD_Cheap1 EQU 1
- GD_Normal2 EQU 2
- GD_Cheap2 EQU 3
- GD_Normal3 EQU 4
- GD_Cheap3 EQU 5
- GD_CostUnit EQU 6
- GD_StartNorm EQU 7
- GD_StartCheap EQU 8
- GD_PopUpBill EQU 9
- GD_ClearLog EQU 10
- GD_TotalSum EQU 11
- GD_OpenBill EQU 12
- GD_SaveLog EQU 13
- GD_LogName EQU 14
- GD_EverCheap EQU 15
- GD_Sunday EQU 16
- GD_Monday EQU 17
- GD_Tuesday EQU 18
- GD_Wednesday EQU 19
- GD_Thursday EQU 20
- GD_Friday EQU 21
- GD_Saturday EQU 22
- GD_ActiveBill EQU 23
-
-
-
- **********************************************************************
- * Settings for lock window *
- **********************************************************************
- LockWinWindowTags:
- LockWinL:
- DC.L WA_Left,0
- LockWinT:
- DC.L WA_Top,0
- LockWinW:
- DC.L WA_Width,0
- LockWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- LockWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,0
- DC.L WA_ScreenTitle,0
- LockWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
- LockWinGTypes:
- DC.W STRING_KIND
- DC.W LISTVIEW_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W CYCLE_KIND
-
- LockWinNGads:
- DC.W 164,64,422,14
- DC.L WindowNameText,0
- DC.W GD_WindowName
- DC.L PLACETEXT_LEFT,0,0
- DC.W 164,4,422,72
- DC.L WindowListText,0
- DC.W GD_WindowList
- DC.L PLACETEXT_LEFT,0,0
- DC.W 164,82,139,12
- DC.L AddWindowText,0
- DC.W GD_AddWindow
- DC.L PLACETEXT_IN,0,0
- DC.W 305,82,139,12
- DC.L SelectWindowText,0
- DC.W GD_SelectWindow
- DC.L PLACETEXT_IN,0,0
- DC.W 446,82,139,12
- DC.L DeleteWindowText,0
- DC.W GD_DeleteWindow
- DC.L PLACETEXT_IN,0,0
- DC.W 62,82,100,12
- DC.L LockListTypeText,0
- DC.W GD_LockListType
- DC.L PLACETEXT_LEFT,0,0
-
- LockWinGTags:
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_MaxChars,60
- DC.L GT_Underscore,'_'
- DC.L GA_Disabled,1
- DC.L TAG_DONE
- WindowListGad
- DC.L GTLV_ShowSelected,0
- WindowListList
- DC.L GTLV_Labels,0
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L GA_Disabled,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L GA_Disabled,1
- DC.L TAG_DONE
- DC.L GTCY_Labels,LockListTypeLabels
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
- LockListTypeLabels:
- DC.L LockListTypeLab0
- DC.L LockListTypeLab1
- DC.L 0
-
- GD_WindowName EQU 0
- GD_WindowList EQU 1
- GD_AddWindow EQU 2
- GD_SelectWindow EQU 3
- GD_DeleteWindow EQU 4
- GD_LockListType EQU 5
-
-
-
-
-
-
-
- **********************************************************************
- * Definitions for Task-Window *
- **********************************************************************
- TaskWinWindowTags:
- TaskWinL:
- DC.L WA_Left,0
- TaskWinT:
- DC.L WA_Top,0
- TaskWinW:
- DC.L WA_Width,0
- TaskWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_CLOSEGADGET!WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- TaskWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,TaskWinWTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- TaskWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
- TaskWinGTypes:
- DC.W LISTVIEW_KIND
- TaskWinNGads:
- DC.W 5,2,395,76
- DC.L 0,0
- DC.W GD_TaskList
- DC.L 0,0,0
- TaskWinGTags:
- Zero3
- DC.L GTLV_Labels,TaskListBase
- DC.L TAG_DONE
-
-
- GD_TaskList EQU 0
-
-
-
-
-
-
- **********************************************************************
- * Definitions for TagScreens window *
- **********************************************************************
- TagScrWinWindowTags:
- TagScrWinL:
- DC.L WA_Left,0
- TagScrWinT:
- DC.L WA_Top,0
- TagScrWinW:
- DC.L WA_Width,0
- TagScrWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- TagScrWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,TagScrWinWTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- TagScrWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
- TagScrWinGTypes:
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W BUTTON_KIND
- DC.W TEXT_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W STRING_KIND
- DC.W LISTVIEW_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W INTEGER_KIND
- DC.W INTEGER_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
-
-
-
- TagScrWinNGads:
- DC.W 7,3,26,11
- DC.L TagScreensOnText,0
- DC.W GD_TagScreensOn
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 7,102,26,11
- DC.L TagNoMonText,0
- DC.W GD_TagNoMon
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 191,89,26,11
- DC.L TagAutoScrText,0
- DC.W GD_TagAutoScr
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 364,89,26,11
- DC.L TagNoFntText,0
- DC.W GD_TagNoFnt
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 7,142,134,12
- DC.L TagScrModeText,0
- DC.W GD_TagScrMode
- DC.L PLACETEXT_IN,0,0
- DC.W 144,142,375,12
- DC.L 0,0
- DC.W GD_TagScrModeType
- DC.L 0,0,0
- DC.W 378,18,141,12
- DC.L AddTagTskText,0
- DC.W GD_AddTagTsk
- DC.L PLACETEXT_IN,0,0
- DC.W 378,72,141,12
- DC.L RemTagTskText,0
- DC.W GD_RemTagTsk
- DC.L PLACETEXT_IN,0,0
- DC.W 100,45,275,14
- DC.L TagTaskNameText,0
- DC.W GD_TagTaskName
- DC.L PLACETEXT_LEFT,0,0
- DC.W 100,18,275,64
- DC.L TagTaskListText,0
- DC.W GD_TagTaskList
- DC.L PLACETEXT_LEFT,0,0
- DC.W 378,54,141,12
- DC.L SelectTagTaskText,0
- DC.W GD_SelectTagTask
- DC.L PLACETEXT_IN,0,0
- DC.W 378,36,141,12
- DC.L AddTagGlobalText,0
- DC.W GD_AddTagGlobal
- DC.L PLACETEXT_IN,0,0
- DC.W 7,158,78,13
- DC.L TagScrWidthText,0
- DC.W GD_TagScrWidth
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 293,158,78,13
- DC.L TagScrHeightText,0
- DC.W GD_TagScrHeight
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 7,89,26,11
- DC.L TagHardPatchText,0
- DC.W GD_TagHardPatch
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 191,102,26,11
- DC.L TagSAPensText,0
- DC.W GD_TagSAPens
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 364,102,26,11
- DC.L TagBlackBorderText,0
- DC.W GD_TagBlackBorder
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 7,115,26,11
- DC.L TagCenterScrText,0
- DC.W GD_TagCenterScr
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 191,115,26,11
- DC.L TagInterleaveText,0
- DC.W GD_TagInterleave
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 364,115,26,11
- DC.L TagLikeWBText,0
- DC.W GD_TagLikeWB
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 7,128,26,11
- DC.L TagSystemPensText,0
- DC.W GD_TagSystemPens
- DC.L PLACETEXT_RIGHT,0,0
-
-
- TagScrWinGTags:
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_EditHook,StrEditHook
- DC.L GTST_MaxChars,80
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- TagScrTaskList
- DC.L GTLV_Labels,0
- TagScrTaskName
- DC.L GTLV_ShowSelected,0
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_EditHook,StrEditHook
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,5
- DC.L STRINGA_Justification,GACT_STRINGCENTER
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L STRINGA_ExitHelp,1
- DC.L GTST_EditHook,StrEditHook
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,5
- DC.L STRINGA_Justification,GACT_STRINGCENTER
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
-
- GD_TagScreensOn EQU 0
- GD_TagNoMon EQU 1
- GD_TagAutoScr EQU 2
- GD_TagNoFnt EQU 3
- GD_TagScrMode EQU 4
- GD_TagScrModeType EQU 5
- GD_AddTagTsk EQU 6
- GD_RemTagTsk EQU 7
- GD_TagTaskName EQU 8
- GD_TagTaskList EQU 9
- GD_SelectTagTask EQU 10
- GD_AddTagGlobal EQU 11
- GD_TagScrWidth EQU 12
- GD_TagScrHeight EQU 13
- GD_TagHardPatch EQU 14
- GD_TagSAPens EQU 15
- GD_TagBlackBorder EQU 16
- GD_TagCenterScr EQU 17
- GD_TagInterleave EQU 18
- GD_TagLikeWB EQU 19
- GD_TagSystemPens EQU 20
-
-
-
-
-
-
-
-
-
- **********************************************************************
- * Definitions for Clock Definition Window *
- **********************************************************************
- ClockDefWinWindowTags:
- ClockDefWinL:
- DC.L WA_Left,0
- ClockDefWinT:
- DC.L WA_Top,0
- ClockDefWinW:
- DC.L WA_Width,0
- ClockDefWinH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,0
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
- ClockDefWinWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,ClockDefWinWTitle
- DC.L WA_ScreenTitle,WindowScrTitle
- ClockDefWinSC:
- DC.L WA_PubScreen,0
- DC.L TAG_DONE
-
-
- ClockDefWinGTypes:
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CYCLE_KIND
- DC.W PALETTE_KIND
- DC.W PALETTE_KIND
- DC.W PALETTE_KIND
- DC.W PALETTE_KIND
- DC.W SLIDER_KIND
-
- ClockDefWinNGads:
- DC.W 29,4,26,11
- DC.L DisplayText,0
- DC.W GD_Display
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 269,4,26,11
- DC.L DisplayWinText,0
- DC.W GD_DisplayWin
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 29,19,26,11
- DC.L ShowTimeText,0
- DC.W GD_ShowTime
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 29,49,26,11
- DC.L ShowDateText,0
- DC.W GD_ShowDate
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 269,19,26,11
- DC.L ShowDayText,0
- DC.W GD_ShowDay
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 29,34,26,11
- DC.L ShowSecsText,0
- DC.W GD_ShowSecs
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 269,34,26,11
- DC.L ShortDayText,0
- DC.W GD_ShortDay
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 269,49,26,11
- DC.L ShowMouseText,0
- DC.W GD_ShowMouse
- DC.L PLACETEXT_RIGHT,0,0
- DC.W 269,64,126,12
- DC.L DateFormatText,0
- DC.W GD_DateFormat
- DC.L PLACETEXT_LEFT,0,0
- DC.W 142,95,123,20
- DC.L TFrontPenText,0
- DC.W GD_TFrontPen
- DC.L PLACETEXT_LEFT,0,0
- DC.W 395,95,123,20
- DC.L TBackPenText,0
- DC.W GD_TBackPen
- DC.L PLACETEXT_LEFT,0,0
- DC.W 142,119,123,20
- DC.L GFrontPenText,0
- DC.W GD_GFrontPen
- DC.L PLACETEXT_LEFT,0,0
- DC.W 395,119,123,20
- DC.L GBackPenText,0
- DC.W GD_GBackPen
- DC.L PLACETEXT_LEFT,0,0
- DC.W 269,80,126,12
- DC.L GaugeWidthText,0
- DC.W GD_GaugeWidth
- DC.L PLACETEXT_LEFT,0,0
-
- ClockDefWinGTags:
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCB_Scaled,-1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTCY_Labels,DateFormatLabels
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- ScrDepth1
- DC.L GTPA_Depth,2
- DC.L GTPA_IndicatorWidth,30
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- ScrDepth2
- DC.L GTPA_Depth,2
- DC.L GTPA_IndicatorWidth,30
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- ScrDepth3
- DC.L GTPA_Depth,2
- DC.L GTPA_IndicatorWidth,30
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- ScrDepth4
- DC.L GTPA_Depth,2
- DC.L GTPA_IndicatorWidth,30
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GTSL_Min,50
- DC.L GTSL_Max,MAXBARLEN
- DC.L GTSL_MaxLevelLen,6
- DC.L GTSL_LevelFormat,GaugeWidthFormat
- DC.L PGA_Freedom,LORIENT_HORIZ
- DC.L GA_RelVerify,1
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
-
-
- DateFormatLabels:
- DC.L DateFormatLab0
- DC.L DateFormatLab1
- DC.L DateFormatLab2
- DC.L DateFormatLab3
- DC.L DateFormatLab4
- DC.L DateFormatLab5
- DC.L 0
- GaugeWidthFormat:
- DC.B '%3.3ld',0
- CNOP 0,2
-
-
- ScrMapBuff ds.w 16
- EVEN
-
-
- GD_Display EQU 0
- GD_DisplayWin EQU 1
- GD_ShowTime EQU 2
- GD_ShowDate EQU 3
- GD_ShowDay EQU 4
- GD_ShowSecs EQU 5
- GD_ShortDay EQU 6
- GD_ShowMouse EQU 7
- GD_DateFormat EQU 8
- GD_TFrontPen EQU 9
- GD_TBackPen EQU 10
- GD_GFrontPen EQU 11
- GD_GBackPen EQU 12
- GD_GaugeWidth EQU 13
-
-
-
-
-
-
- **********************************************************************
- * Names for the qualifiers *
- **********************************************************************
- QualifierTab dc.l IEQUALIFIER_LSHIFT,LShiftName
- dc.l IEQUALIFIER_RSHIFT,RShiftName
- dc.l IEQUALIFIER_CAPSLOCK,CapsName
- dc.l IEQUALIFIER_CONTROL,ControlName
- dc.l IEQUALIFIER_LALT,LAltName
- dc.l IEQUALIFIER_RALT,RAltName
- dc.l IEQUALIFIER_LCOMMAND,LCommandName
- dc.l IEQUALIFIER_RCOMMAND,RCommandName
- dc.l IEQUALIFIER_MIDBUTTON,MidButtonName
- dc.l IEQUALIFIER_RBUTTON,RightButtonName
- dc.l IEQUALIFIER_LEFTBUTTON,LeftButtonName
- NUMQUALIFIER EQU ((*-QualifierTab)/8)
-
- CodeTab dc.l $45,EscName
- dc.l $50,F1Name
- dc.l $51,F2Name
- dc.l $52,F3Name
- dc.l $53,F4Name
- dc.l $54,F5Name
- dc.l $55,F6Name
- dc.l $56,F7Name
- dc.l $57,F8Name
- dc.l $58,F9Name
- dc.l $59,F10Name
- dc.l $41,BackName
- dc.l $46,DelName
- dc.l $5f,HelpKeyName
- dc.l $42,TabName
- dc.l $4c,UpName
- dc.l $4d,DownName
- dc.l $4f,LeftName
- dc.l $4e,RightName
- dc.l $44,ReturnName
- dc.l $40,SpaceName
- dc.l $43,EnterName
- dc.l IECODE_LBUTTON,LeftButtonName
- dc.l IECODE_RBUTTON,RightButtonName
- dc.l IECODE_MBUTTON,MidButtonName
- NUMCODES EQU ((*-CodeTab)/8)
-
- LShiftName dc.b "LSHIFT",0
- RShiftName dc.b "RSHIFT",0
- CapsName dc.b "CAPSLOCK",0
- ControlName dc.b "CONTROL",0
- LAltName dc.b "LALT",0
- RAltName dc.b "RALT",0
- LCommandName dc.b "LCOMMAND",0
- RCommandName dc.b "RCOMMAND",0
- LeftButtonName dc.b "LBUTTON",0
- RightButtonName dc.b "RBUTTON",0
- MidButtonName dc.b "MBUTTON",0
- EscName dc.b "ESCAPE",0
- F1Name dc.b "F1",0
- F2Name dc.b "F2",0
- F3Name dc.b "F3",0
- F4Name dc.b "F4",0
- F5Name dc.b "F5",0
- F6Name dc.b "F6",0
- F7Name dc.b "F7",0
- F8Name dc.b "F8",0
- F9Name dc.b "F9",0
- F10Name dc.b "F10",0
- BackName dc.b "BACKSPACE",0
- DelName dc.b "DELETE",0
- HelpKeyName dc.b "HELP",0
- TabName dc.b "TAB",0
- UpName dc.b "UP",0
- DownName dc.b "DOWN",0
- LeftName dc.b "LEFT",0
- RightName dc.b "RIGHT",0
- ReturnName dc.b "RETURN",0
- SpaceName dc.b "SPACE",0
- EnterName dc.b "ENTER",0
- EVEN
-
-
-
-
-
- **********************************************************************
- * Definitions for userdefinable filenames *
- **********************************************************************
- DirPrefsName dc.b "KCX.PREFS",0
- EnvPrefsName dc.b "ENV:KCX/KCX.PREFS",0
- EnvArcPrefsName dc.b "ENVARC:KCX/KCX.PREFS",0
- EnvArcDirName dc.b "ENVARC:KCX",0
- EVEN
-
-
-
- **********************************************************************
- * HotKey definitions *
- **********************************************************************
- DefaultHotKeys dc.l DefPopUpKey,DefBillHotKey,DefFormHotKey
- dc.l DefPageHotKey,DefShellHotKey
- dc.l DefUmlautHotKey,DefSnapHotKey,DefDoBlankHotKey
- dc.l DefDumpHotKey,DefCenterHotKey,DefSelScrHotKey
- dc.l DefClockHotKey,DefFKeyHotKey,DefSunHotKey
- DefPopUpKey dc.b "LCOMMAND HELP",0
- DefBillHotKey dc.b "ALT SHIFT B",0
- DefFormHotKey dc.b "ALT SHIFT F",0
- DefPageHotKey dc.b "RALT HELP",0
- DefShellHotKey dc.b "ALT SHIFT S",0
- DefUmlautHotKey dc.b "ALT SHIFT U",0
- DefSnapHotKey dc.b "ALT SHIFT G",0
- DefDoBlankHotKey dc.b "ALT SHIFT D",0
- DefDumpHotKey dc.b "ALT NUMERICPAD *",0
- DefCenterHotKey dc.b "ALT SHIFT X",0
- DefSelScrHotKey dc.b "LSHIFT ESC",0
- DefClockHotKey dc.b "ALT SHIFT C",0
- DefFKeyHotKey dc.b "ALT SHIFT K",0
- DefSunHotKey dc.b "ALT SHIFT M",0
- EVEN
-
-
- **********************************************************************
- * Defines for HotKey-Window *
- **********************************************************************
- HotKeyGadStat dc.l PopUpKey ; CX_PopKey
- dc.l BillHotKey ; Bill
- dc.l FormatHotKey ; Formatter
- dc.l PageHotKey ; Page
- dc.l ShellHotKey ; UserShell
- dc.l UmlautHotKey ; Map Umlauts
- dc.l SnapHotKey ; Snap memory
- dc.l DoBlankHotKey ; Immediate Blank
- dc.l DumpHotKey ; Display dump
- dc.l CenterHotKey ; Center a screen
- dc.l SelScrHotKey ; Select Screen to pop up
- dc.l ClockHotKey ; On/Off clock
- dc.l FKeyHotKey ; On/Off FKeys
- dc.l SunHotKey ; On/Off SunMouse
- HOTKEYNUM EQU ((*-HotKeyGadStat)/4)
- HotKeyGadVars dc.l MainHandle,ControlTitle,PopUpFilter
- dc.l BillHandle,BillTitle,BillFilter
- dc.l FormHandle,FormTitle,FormFilter
- dc.l 0,0,PageFilter
- dc.l 0,0,ShellFilter
- dc.l 0,0,UmlautFilter
- dc.l 0,0,SnapFilter
- dc.l 0,0,DoBlankFilter
- dc.l PrintHandle,PrintTitle,DumpFilter
- dc.l 0,0,CenterFilter
- dc.l SelScrHandle,SelScrTitle,SelScrFilter
- dc.l 0,0,ClockFilter
- dc.l 0,0,FKeyFilter
- dc.l 0,0,SunFilter
-
-
-
-
- **********************************************************************
- * Pointers to window-structures for saving *
- **********************************************************************
- WindowHandles dc.w MainHandle,SetHandle,MiscHandle
- dc.w AlarmHandle,QualHandle,CycleHandle
- dc.w BlankHandle,ClockDefHandle,MouseHandle
- dc.w HotKeyHandle,FKeyHandle,FormHandle
- dc.w BillHandle
- dc.w PrefsHandle,LogHandle,ProgHandle
- dc.w ClockHandle,PrintHandle,LockHandle,TagScrHandle
- WINDOWNUM EQU (*-WindowHandles)>>1
- WindowRoutines dc.l HandleMainWin,HandleSetWin,HandleMiscWin,HandleAlarmWin,0
- dc.l HandleCycleWin,HandleBlankWin,HandleClockDefWin,HandleMouseWin
- dc.l HandleHotKeyWin,HandleFKeyWin,0,0,HandlePrefsWin,0,0,0,0
- dc.l HandleLockWin,HandleTagScrWin
- WindowGads dc.w MainGads,SetGads,MiscGads,AlarmGads,0,CycleGads,BlankGads
- dc.w ClockDefGads,MouseGads,HotKeyGads,FKeyGads,0,0,PrefsGads,0,0,0,0
- dc.w LockGads,TagScrGads
-
- **********************************************************************
- * Text attribute for gadgets. We are stubborn. Let`s take topaz :-) *
- **********************************************************************
- GadgetTxtAttr dc.l FontName
- dc.w 8
- dc.b FS_NORMAL
- dc.b FPF_ROMFONT
- FontName dc.b "topaz.font",0
- EVEN
-
-
- **********************************************************************
- * Attribute for System text *
- **********************************************************************
- SysTxtAttr dc.l 0
- dc.w 0
- dc.b FS_NORMAL
- dc.b 0
-
-
- **********************************************************************
- * Chunkdefinitions for the Prefs file *
- **********************************************************************
- VersChunk dc.w VERNUM,REVNUM
- VersChunkSize EQU *-VersChunk
-
-
- **********************************************************************
- * Formatstrings for RawDoFmt *
- **********************************************************************
- TimeFormats dc.l FormLSec,FormLNSec,FormSSec,FormSNSec
- FormLSec dc.b " %s %s %s ",0
- FormLNSec dc.b " %s %s %.5s ",0
- FormSSec dc.b " %.3s %s %s ",0
- FormSNSec dc.b " %.3s %s %.5s ",0
- ResultFormat dc.b "%-ld",0
- ResultWinFormat dc.b "%d/%d",0
- CostFormString dc.b "%5ld.%02ld",0
- PerHourForm dc.b "%4ld.%02ld",0
- LIntFormat dc.b "%ld",0
- StringFormat dc.b "%s",0
- FormLongSStr dc.b "%02ld:%02ld:%02ld",0
- FormLongNSStr dc.b "%02ld:%02ld",0
- ScrDimmFormat dc.b "%2.2ld",0
- FormMemString dc.b " C: %7ld F: %8ld ",0
- DoubleMemString dc.b " C: %ld F: %ld ",0
- MousePosForm dc.b " X: %4.4d Y: %4.4d",0
- EVEN
- BillTotalCost dc.l 0
- BillDayCost dc.l 0
- BillDayPtr dc.l BillDayStr
- BillMajor dc.l 0
- BillMinor dc.l 0
- BillDayStr ds.b 10
-
-
- VersionData dc.l VersionStr
- dc.l VersionDat
- VersionStr REVISION
- dc.b 0
- VersionDat REVDATE
- dc.b 0
- EVEN
-
-
-
-
-
-
-
- **********************************************************************
- * Locale-Strings *
- **********************************************************************
- LOCALE_START
- * CATALOG kcxprefs
- * VERSION 2.5
- * DATE 01.02.93
- DefControlTitle dc.b "KCommodity : HotKey=",0
- * D "KCommodity : HotKey=",0
- SetTitle dc.b "Settings",0
- * D "Einstellungen",0
- MiscTitle dc.b "Miscellaneous",0
- * D "Verschiedenes",0
- AlarmTitle dc.b "Alarm modes",0
- * D "Alarm Modi",0
- DefQualTitle dc.b "Set qualifier for : ",0
- * D "Tastenkürzel für : ",0
- CycleTitle dc.b "Cycle settings",0
- * D "Rollen",0
- BlankTitle dc.b "Blanking",0
- * D "Verdunkeln",0
- MouseTitle dc.b "Mouse",0
- * D "Maus",0
- HotKeyTitle dc.b "HotKeys",0
- * D "HotKeys",0
- FKeyTitle dc.b "Function Keys",0
- * D "Funktionstasten",0
- PrefsTitle dc.b "Bill preferences",0
- * D "Konfiguration der Rechnung",0
- LockTitle dc.b "Lock windows",0
- * D "Fenster sperren",0
- TaskWinWTitle dc.b "Task-List : Select Task",0
- * D "Task-Liste : Task aussuchen",0
- TagScrWinWTitle dc.b "TagScreens",0
- * D "TagScreens",0
- ClockDefWinWTitle dc.b "Clock definitions",0
- * D "Uhr Einstellungen",0
- MainWinDefMName0 dc.b "Project",0
- * D "Projekt",0
- MainWinDefMName1 dc.b "Save Preferences",0
- * D "Einstellungen speichern",0
- MainWinDefMComm1 dc.b "S",0
- * D "S",0
- MainWinDefMName3 dc.b "About",0
- * D "Über",0
- MainWinDefMComm3 dc.b "?",0
- * D "?",0
- SettingsText dc.b "Se_ttings...",0
- * D "Einstell_ungen...",0
- MiscText dc.b "_Miscellaneous...",0
- * D "_Verschiedenes...",0
- BlankingText dc.b "_Blanking...",0
- * D "Verdun_keln...",0
- CyclingText dc.b "_Cycle settings...",0
- * D "_Rollen...",0
- MouseText dc.b "Mo_use...",0
- * D "_Maus...",0
- HotKeyText dc.b "Hot_Keys...",0
- * D "HotKe_ys...",0
- FKeyText dc.b "_Function Keys...",0
- * D "_Funktionstasten...",0
- FormatText dc.b "Fo_rmatter...",0
- * D "Format_ierer...",0
- BillWinText dc.b "B_ill...",0
- * D "Re_chnung...",0
- BillPrefsText dc.b "Bill _preferences...",0
- * D "Konfig. Rechnun_g...",0
- AlarmText dc.b "A_larm modes...",0
- * D "Alarm M_odi...",0
- ClockDefText dc.b "Clock setti_ngs...",0
- * D "U_hr Einstellungen...",0
- HardCopyText dc.b "_Graphics dump...",0
- * D "Gra_phikausdruck...",0
- LockWinsText dc.b "Lock _windows...",0
- * D "Fens_ter sperren...",0
- TagScreensText dc.b "Tag Screens (_1)...",0
- * D "Tag Screens (_1)...",0
- LoadPrefsText dc.b "L_oad Prefs...",0
- * D "Einst. _laden...",0
- SavePrefsText dc.b "S_ave Prefs...",0
- * D "Einst. _sichern...",0
- RemoveGadText dc.b "Remo_ve",0
- * D "E_ntfernen",0
- EnableText dc.b "_Enable",0
- * D "_Aktivieren",0
- DisableText dc.b "_Disable",0
- * D "_Deaktivieren",0
- QuitText dc.b "_Quit",0
- * D "_Ende",0
- WriteEnvText dc.b "W_rite environment",0
- * D "_Umgebungsvariablen",0
- WBFrontText dc.b "WB to _front",0
- * D "WB nach _vorne",0
- MapUmlautsText dc.b '_Map "Umlauts"',0
- * D '"Umlaute" _konv.',0
- MMBShiftText dc.b "MM_B-Shift",0
- * D "MM_B-Shift",0
- NoClickText dc.b "Drive _NoClick",0
- * D "Lau_fwerk Kein-Klick",0
- NoDisplayBeepText dc.b "No D_isplayBeep",0
- * D "Kein _DisplayBeep",0
- MenuWrapText dc.b "Menu_Wrap",0
- * D "Menu_Wrap",0
- StringMenuText dc.b "_String2Menu",0
- * D "String zu Men_ü",0
- AvoidFlickerText dc.b "_Avoid Flicker",0
- * D "Flimmern verme_iden",0
- ESCCloseText dc.b "_ESC Window Close",0
- * D "_ESC Fenster schließen",0
- ESCQualText dc.b "ESC _Qualifier...",0
- * D "ESC K_ürzel...",0
- KeyClickText dc.b "_Key-Click",0
- * D "_Tasten-Klick",0
- ClickVolText dc.b "Click _volume ",0
- * D "Klick _Lautstärke ",0
- UserShellText dc.b "_User-Shell command",0
- * D "_Benutzer-Shell Kommando",0
- ExpWindowsText dc.b "Exploding _windows",0
- * D "Explodierende _Fenster",0
- MouseCtrText dc.b "From/To _mouse",0
- * D "Von/Zur _Maus",0
- ExpFramesText dc.b "E_xplode frames ",0
- * D "E_xpl. Rahmen ",0
- ImpFramesText dc.b "_Implode frames ",0
- * D "_Impl. Rahmen ",0
- SizeFramesText dc.b "_Size frames ",0
- * D "Gr_ößen Rahmen ",0
- FullDragText dc.b "_Full drag",0
- * D "Komplett Be_wegen",0
- DragQualText dc.b "_Dragging qualifier...",0
- * D "Bewegen Kür_zel...",0
- MoveFramesText dc.b "M_ove frames ",0
- * D "Bewe_gen Rahmen",0
- AltModeText dc.b "Enter _ASCII",0
- * D "_ASCII eingeben",0
- AltQualText dc.b "ASCII Qua_lifier",0
- * D "AS_CII Kürzel",0
- AltQualLab0: dc.b "LEFT ALT",0
- * D "LINKE ALT",0
- AltQualLab1: dc.b "CONTROL",0
- * D "CONTROL",0
- AlarmOnText dc.b "_Alarm on",0
- * D "_Alarm an",0
- AllHoursText dc.b "_Every hour",0
- * D "_Jede Stunde",0
- ShowAlarmText dc.b "Show _requester",0
- * D "_Requester zeigen",0
- AlarmTimeText dc.b "Alarm _time ",0
- * D "Alarm _Zeit ",0
- AlSoundTypeText dc.b "_Sound type",0
- * D "Sound _Typ",0
- AlarmSampleText dc.b "Select sa_mple",0
- * D "Sample _wählen",0
- SampleNameText dc.b "Sample name",0
- * D "Sample Name",0
- TestSampleText dc.b "Test sam_ple",0
- * D "Teste _Sample",0
- AlSoundTypeLab0 dc.b "DisplayBeep()",0
- * D "DisplayBeep()",0
- AlSoundTypeLab1 dc.b "IFF Sample",0
- * D "IFF Sample",0
- OkText dc.b "Ok",0
- * D "Ok",0
- CancelText dc.b "Cancel",0
- * D "Abbruch",0
- CycleOnText dc.b "_Cycling enabled",0
- * D "Rollen _aktiv",0
- FrontClickText dc.b "_Front clicks",0
- * D "_Vorne Klicks",0
- MiddleClickText dc.b "_Middle clicks",0
- * D "_Mitte Klicks",0
- BackClickText dc.b "_Back clicks",0
- * D "_Zurück Klicks",0
- FrontKeyText dc.b "F_ront Key",0
- * D "V_orne Taste",0
- MiddleKeyText dc.b "M_iddle Key",0
- * D "M_itte Taste",0
- BackKeyText dc.b "B_ack Key",0
- * D "Z_urück Taste",0
- BlankMouseText dc.b "_Blank mouse on keystroke",0
- * D "Maus _verdunkeln bei Tastendruck",0
- ScrTimeText dc.b "_Screen time ",0
- * D "_Screen Zeit ",0
- MouseTimeText dc.b "_Mouse time ",0
- * D "_Maus Zeit ",0
- BlankTypeText dc.b "Blanker _type",0
- * D "Verdunklungs_typ",0
- DimmFacText dc.b "_Dimm factor ",0
- * D "Dimm _Faktor ",0
- BlankTypeLab0 dc.b "Blanker",0
- * D "Verdunklung",0
- BlankTypeLab1 dc.b "Dimmer",0
- * D "Dimmer",0
- WindowActText dc.b "_Window activation",0
- * D "Fenster _Aktivierung",0
- SunMouseText dc.b "_Sun mouse",0
- * D "_Sun Maus",0
- MouseAccelText dc.b "_Mouse accelerate",0
- * D "Maus_beschleunigung",0
- AccelerateText dc.b "_Acceleration ",0
- * D "Beschleunigun_g ",0
- ThresholdText dc.b "_Threshold ",0
- * D "_Verzögerung ",0
- HoldXQualText dc.b "Hold _X qualifier",0
- * D "_X-Halten Kürzel",0
- HoldYQualText dc.b "Hold _Y qualifier",0
- * D "_Y-Halten Kürzel",0
- LeftyText dc.b "_LeftyMouse",0
- * D "linke/rechte Ma_us tauschen",0
- HoldMouseText dc.b "_Hold mouse",0
- * D "Maus _halten",0
- HotKeyListName0 dc.b "CX_PopKey",0
- * D "CX_PopKey",0
- HotKeyListName1 dc.b "Bill",0
- * D "Rechnung",0
- HotKeyListName2 dc.b "Formatter",0
- * D "Formatierer",0
- HotKeyListName3 dc.b "Page",0
- * D "Seite",0
- HotKeyListName4 dc.b "UserShell",0
- * D "Benutzer-Shell",0
- HotKeyListName5 dc.b 'Map "Umlauts"',0
- * D "Umlaute konvertieren",0
- HotKeyListName6 dc.b "Snap memory",0
- * D "Speicher Schnappschuß",0
- HotKeyListName7 dc.b "Immediate blank",0
- * D "Sofort verdunkeln",0
- HotKeyListName8 dc.b "Display dump",0
- * D "Graphik Ausdruck",0
- HotKeyListName9 dc.b "Center",0
- * D "Zentrieren",0
- HotKeyListName10 dc.b "Select Screen",0
- * D "Screen auswählen",0
- HotKeyListName11 dc.b "Clock/Memory on/off",0
- * D "Uhr/Speicher an/aus",0
- HotKeyListName12 dc.b "Function keys on/off",0
- * D "Funktionstasten an/aus",0
- HotKeyListName13 dc.b "SunMouse on/off",0
- * D "SunMouse an/aus",0
- HotKeyListText dc.b "_HotKeys",0
- * D "_HotKeys",0
- HotKeyDefText dc.b "_Def:",0
- * D "_Def:",0
- F1Text dc.b "F_1",0
- * D "F_1",0
- F2Text dc.b "F_2",0
- * D "F_2",0
- F3Text dc.b "F_3",0
- * D "F_3",0
- F4Text dc.b "F_4",0
- * D "F_4",0
- F5Text dc.b "F_5",0
- * D "F_5",0
- F6Text dc.b "F_6",0
- * D "F_6",0
- F7Text dc.b "F_7",0
- * D "F_7",0
- F8Text dc.b "F_8",0
- * D "F_8",0
- F9Text dc.b "F_9",0
- * D "F_9",0
- F10Text dc.b "F1_0",0
- * D "F1_0",0
- FKeyQualText dc.b "_Qualifier",0
- * D "_Kürzel",0
- FKeyActText dc.b "_Active",0
- * D "_Aktiv",0
- FKeyOkText dc.b "_Ok",0
- * D "_Ok",0
- FKeyCancelText dc.b "_Cancel",0
- * D "A_bbruch",0
- FKeyQualLab0 dc.b "None",0
- * D "Keines",0
- FKeyQualLab1 dc.b "Shift",0
- * D "Shift",0
- FKeyQualLab2 dc.b "Alt",0
- * D "Alt",0
- FKeyQualLab3 dc.b "Control",0
- * D "Control",0
- EverCheapString dc.b "Always cheap on",0
- * D "Immer billig an",0
- Normal1Text dc.b "Normal _1",0
- * D "Normal _1",0
- Cheap1Text dc.b "Cheap _A",0
- * D "Billig _A",0
- Normal2Text dc.b "Normal _2",0
- * D "Normal _2",0
- Cheap2Text dc.b "Cheap _B",0
- * D "Billig _B",0
- Normal3Text dc.b "Normal _3",0
- * D "Normal _3",0
- Cheap3Text dc.b "Cheap _C",0
- * D "Billig _C",0
- CostUnitText dc.b "Costs/_Unit",0
- * D "_Kosten/Einheit",0
- StartNormText dc.b "Start _normal ",0
- * D "Start _normal ",0
- StartCheapText dc.b "Start c_heap ",0
- * D "Start b_illig ",0
- PopUpBillText dc.b "Pop up Bill _window",0
- * D "Rechnung _öffnen",0
- ClearLogText dc.b "Clear _Log",0
- * D "_Log löschen",0
- TotalSumText dc.b "_Display total sum",0
- * D "_Summe anzeigen",0
- OpenBillText dc.b "Open Bill _on",0
- * D "Rec_hnung öffnen auf",0
- SaveLogText dc.b "_Select...",0
- * D "_Wählen...",0
- LogNameText dc.b "Log _Filename",0
- * D "Log _Dateiname",0
- SundayText dc.b "Sunday _4",0
- * D "Sonntag _4",0
- MondayText dc.b "Monday _5",0
- * D "Montag _5",0
- TuesdayText dc.b "Tuesday _6",0
- * D "Dienstag _6",0
- WednesdayText dc.b "Wednesday _7",0
- * D "Mittwoch _7",0
- ThursdayText dc.b "Thursday _8",0
- * D "Donnerstag _8",0
- FridayText dc.b "Friday _9",0
- * D "Freitag _9",0
- SaturdayText dc.b "Saturday _0",0
- * D "Samstag _0",0
- ActiveBillText dc.b "Ac_tivate on PopUp",0
- * D "Beim Öffnen akti_v",0
- WindowNameText dc.b "E_ntry",0
- * D "_Eintrag",0
- WindowListText dc.b "Locked _list",0
- * D "Gesperrt-_Liste",0
- AddWindowText dc.b "_Add entry",0
- * D "_Neuer Eintrag",0
- SelectWindowText dc.b "_Select entry",0
- * D "Eintrag _wählen",0
- DeleteWindowText dc.b "_Delete entry",0
- * D "Eintrag l_öschen",0
- LockListTypeText dc.b "Lis_t",0
- * D "Lis_te",0
- LockListTypeLab0 dc.b "Windows",0
- * D "Fenster",0
- LockListTypeLab1 dc.b "Tasks",0
- * D "Tasks",0
- TagScreensOnText dc.b "_TagScreens activated",0
- * D "_TagScreens aktiv",0
- TagNoMonText dc.b "_Monitor",0
- * D "_Monitor",0
- TagAutoScrText dc.b "AutoS_croll",0
- * D "Auto_Scroll",0
- TagNoFntText dc.b "_Font",0
- * D "_Zeichensatz",0
- TagScrModeText dc.b "Screen Mo_de",0
- * D "Screen Mo_dus",0
- TagScrHeightText dc.b "Screen H_eight",0
- * D "Screen H_öhe",0
- AddTagTskText dc.b "_Add entry",0
- * D "_Neuer Eintrag",0
- RemTagTskText dc.b "_Remove entry",0
- * D "Eintrag entfe_rnen",0
- TagTaskNameText dc.b "Task _name",0
- * D "Tas_kname",0
- TagTaskListText dc.b "Task _List",0
- * D "Task-_Liste",0
- SelectTagTaskText dc.b "_Select entry",0
- * D "Eintrag _wählen",0
- AddTagGlobalText dc.b "Add _global",0
- * D "_Global zufügen",0
- TagScrWidthText dc.b "Screen _Width",0
- * D "Screen _Breite",0
- TagHardPatchText dc.b "_Hard Patch",0
- * D "_Harter Patch",0
- TagSAPensText dc.b "SA-_Pens",0
- * D "SA-_Pens",0
- TagBlackBorderText dc.b "_BlackBorder",0
- * D "S_chwarzer Rand",0
- TagCenterScrText dc.b "Aut_o Center",0
- * D "Auto-Zentr_ieren",0
- TagInterleaveText dc.b "Interlea_ve",0
- * D "Interlea_ve",0
- TagLikeWBText dc.b "Like Wor_kBench",0
- * D "Wie W_orkBench",0
- TagSystemPensText dc.b "S_ystem Pens",0
- * D "S_ystem Stifte",0
- DisplayText dc.b "_Display clock/mem",0
- * D "Zeit/Speicher _anzeigen",0
- DisplayWinText dc.b "Display in _window",0
- * D "Im _Fenster zeigen",0
- ShowTimeText dc.b "Show _time",0
- * D "_Zeit zeigen",0
- ShowDateText dc.b "Sh_ow date",0
- * D "_Datum zeigen",0
- ShowDayText dc.b "Show da_y",0
- * D "_Tag zeigen",0
- ShowSecsText dc.b "Show _seconds",0
- * D "_Sekunden zeigen",0
- ShortDayText dc.b "S_hort day string",0
- * D "_Kurzer Tagname",0
- ShowMouseText dc.b "Show Mouse _X/Y",0
- * D "Maus _X/Y zeigen",0
- DateFormatText dc.b "Dat_e Format",0
- * D "For_mat des Datums",0
- TFrontPenText dc.b "Text _front",0
- * D "Text _Vordergr.",0
- TBackPenText dc.b "Text _back",0
- * D "Text _Hintergr.",0
- GFrontPenText dc.b "Gauge f_ront",0
- * D "Füll. V_ordergr.",0
- GBackPenText dc.b "Gauge b_ack",0
- * D "Füll. H_intergr.",0
- GaugeWidthText dc.b "_Gauge`s width ",0
- * D "F_ülleistenbreite ",0
- DateFormatLab0: dc.b "MM-DD-YY",0
- * D "MM-TT-JJ",0
- DateFormatLab1: dc.b "DD-MM-YY",0
- * D "TT-MM-JJ",0
- DateFormatLab2: dc.b "MM.DD.YY",0
- * D "MM.TT.JJ",0
- DateFormatLab3: dc.b "DD.MM.YY",0
- * D "TT.MM.JJ",0
- DateFormatLab4: dc.b "DD-MMM-YY",0
- * D "TT-MMM-JJ",0
- DateFormatLab5: dc.b "DD.MMM.YY",0
- * D "TT.MMM.JJ",0
- ScrModeHead dc.b "Select new screen mode for task",0
- * D "Wählen Sie einen neuen Screen Modus für den Task",0
- GlobalTagName dc.b "*** GLOBALTAG ***",0
- * D "*** GLOBALER TAG ***",0
- DefLabel dc.b "Empty",0
- * D "Leer",0
- ConWinDef dc.b "RAW:0/0//150/Telephone log info",0
- * D "RAW:0/0//150/Telefon Log Info",0
- PressKey dc.b "Press any key to continue....",13,0
- * D "Drücken Sie eine Taste zum Fortfahren...",13,0
- AboutText dc.b "KCommodity V%s (%s), by Kai Iske",10
- dc.b "© 1992 Kai Iske, ShareWare",10,10
- dc.b "User Interface done with the help of GadToolsBox V1.4 (37.177)",10,10
- dc.b "To contact me write to :",10,10
- dc.b " Kai Iske",10
- dc.b " Brucknerstrasse 18",10
- dc.b " 6450 Hanau 1, Germany",10
- dc.b " Tel.: +49-(0)6181-850181 (After 6pm only)",10,10
- dc.b "or use electronical mail :",10,10
- dc.b " FIDO: 2:249/40.11, Kai Iske",10
- dc.b " ZNET: SNAKE%%HTH@AMNET.ZER",10
- dc.b " USENET: kai@iske.adsp.sub.org",0
- * D "KCommodity V%s (%s), von Kai Iske",10
- * D "© 1992 Kai Iske, ShareWare",10,10
- * D "User Interface erstellt mit der Hilfe von GadToolsBox V1.4 (37.177)",10,10
- * D "Um mit mir in Kontakt zu kommen, schreiben Sie an :",10,10
- * D " Kai Iske",10
- * D " Brucknerstrasse 18",10
- * D " 6450 Hanau 1, Deutschland",10
- * D " Tel.: +49-(0)6181-850181 (Nur nach 18:00 Uhr)",10,10
- * D "oder benutzen Sie elektronische Post :",10,10
- * D " FIDO : 2:249/40.11, Kai Iske",10
- * D " ZNET : SNAKE%%HTH@AMNET.ZER",10
- * D " USENET: kai@iske.adsp.sub.org",0
- AboutGadgets dc.b "Ok",0
- * D "Ok",0
- FileWinTxt dc.b "Would you like to have the LogFile displayed",10
- dc.b "in a window or should I dump it to a file ?",0
- * D "Möchten Sie das LogFile in einem Fenster ausgeben,",10
- * D "oder soll ich es in eine Datei schreiben?",0
- FileWinGads dc.b "File|Window",0
- * D "Datei|Fenster",0
- FileWinHead dc.b "Select output file for LogFile",0
- * D "Wählen Sie die Ausgabedatei für das LogFile",0
- UnusedStr dc.b "--- Unused entry ---",0
- * D "--- Unbenutzter Eintrag ---",0
- SelectWinTxt dc.b "Click on window to use",0
- * D "Klicken Sie auf ein Fenster",0
- WindowScrTitle dc.b "KCommodity by Kai Iske. ShareWare",0
- * D "KCommodity von Kai Iske. ShareWare",0
- ESCQualTxt dc.b "ESC Window close",0
- * D "ESC Fenster schließen",0
- DragQualTxt dc.b "Full dragging",0
- * D "Komplett bewegen",0
- FrontClickTxt dc.b "Front click",0
- * D "Vorne Taste",0
- BackClickTxt dc.b "Back click",0
- * D "Hinten Taste",0
- MiddleClickTxt dc.b "Middle click",0
- * D "Mitte Taste",0
- HoldXQualTxt dc.b "Hold X",0
- * D "Halte X",0
- HoldYQualTxt dc.b "Hold Y",0
- * D "Halte Y",0
- WinReActText dc.b "Window _reactivation",0
- * D "Fenster _Reaktivierung",0
- LogFileHeader dc.b "Select new Log-File",0
- * D "Wählen Sie ein neues Log-File",0
- PrefsLoadHeader dc.b "Load preferences",0
- * D "Einstellungen laden",0
- PrefsSaveHeader dc.b "Save pereferences",0
- * D "Einstellungen sichern",0
- AlSampLoadHead dc.b "Load Alarm sample",0
- * D "Alarm sample laden",0
- CliHelpPage dc.b 10,10,"KCommodity by Kai Iske. ShareWare",10
- dc.b "USAGE : KCommodity",10
- dc.b " ToolType : Description : Default :",10
- dc.b " -----------------------------------------------------------------------",10
- dc.b " [SETTINGS=s] New filename for Prefs ENV:KCX/KCX.PREFS",10,10,10,0
- * D 10,10,"KCommodity von Kai Iske. ShareWare",10
- * D "Benutzung : KCommodity",10
- * D " ToolType : Beschreibung : Voreingestellt :",10
- * D " -----------------------------------------------------------------------",10
- * D " [SETTINGS=s] Neuer Filename für Prefs ENV:KCX/KCX.PREFS",10,10,10,0
- FinalCostForm dc.b " -----------",$0a
- dc.b " Total Sum %ld.%02ld",$0a,0
- * D " -----------",$0a
- * D " Komplettsumme %ld.%02ld",$0a,0
- DayCostForm dc.b " -----------",$0a
- dc.b " Sum for %s %ld.%02ld",$0a,$0a,0
- * D " -----------",$0a
- * D " Summe für %s %ld.%02ld",$0a,$0a,0
- LOCALE_END
- INCLUDE KCX.BSS
- END
-